云原生多模数据库 Lindorm基于阿里云SLS推出审计日志,支持精准分析数据操作与过滤筛选。本文介绍开通及查询方法。
前提条件
前提条件
注意事项
Lindorm实例、单节点实例暂不支持SQL审计日志功能。
如需通过阿里云子账号开通审计日志功能,则需要为子账号授予AliyunLogFullAccess权限。如何授权,请参见管理RAM用户的权限。
开通审计日志后,系统默认在Lindorm实例所属的地域中创建Project和专属Logstore。
Project的名称格式为
aliyun-product-阿里云账号ID-地域ID。专属Logstore的名称为
lindorm-sql-audit-log。
专属Logstore不支持写数据、修改索引、删除索引、修改属性等操作,但在查询、统计、告警等功能上没有限制。
日志服务SLS需处于可用状态,否则全量日志分析功能无法使用。
审计日志类型
Lindorm审计日志支持记录以下SQL操作:
DDL:包括CREATE DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE等。
DML:包括INSERT、UPSERT、DELETE、UPDATE等。
DQL:包括SELECT等。
通常情况下,DML和DQL操作较多,记录此类审计日志可能会影响实例的性能和稳定性。因此,宽表引擎默认仅记录DDL类型的SQL审计日志。如需开启DML和DQL审计日志,可以通过系统变量AUDIT_LEVEL来调整审计日志的级别。详细操作,请参见修改审计日志级别。
开通SQL审计日志
费用说明
审计日志的费用由日志服务SLS根据审计日志的存储空间和保存时长按量收取。相关收费的详细内容请参见日志服务详细价格。
操作步骤
登录Lindorm管理控制台。
在页面左上角,选择实例所属的地域。
在实例列表页,单击目标实例ID或者目标实例所在行操作列的管理。
在左侧导航栏,单击宽表引擎。
单击SQL 审计日志页签,点击开启审计日志。
在开通SQL审计日志对话框,单击确认。
查询SQL审计日志
日志保留时长
Lindorm审计日志默认的保存时间为30天,您可在控制台修改审计日志保存期限。当日志保存时间达到数据保存期限后,日志将被删除。
修改审计日志保存期限
登录Lindorm管理控制台。
在页面左上角,选择实例所属的地域。
在实例列表页,单击目标实例ID或者目标实例所在行操作列的管理。
在左侧导航栏,选择,点击右上角修改保存期限,在弹窗中修改保存时长。
点击确认修改。
查看审计日志
登录Lindorm管理控制台。
在页面左上角,选择实例所属的地域。
在实例列表页,单击目标实例ID或者目标实例所在行操作列的管理。
在左侧导航栏,选择,查看Lindorm宽表的审计日志详情。
说明默认显示最近15分钟内的日志详情,您也可以根据需求修改需要查询的时间段。
(可选)在原始日志页签下,单击目标索引字段,可根据该字段筛选日志。进入 SQL 审计日志 页面后,在 原始日志 页签下,左侧 索引字段 面板可按 db、clientIp、fail 等字段筛选日志;右侧展示每条日志的详细字段,包括
sqlType、user、affectRows、checkRows、clientIp、clientPort、connectionId等。例如,选择 db 字段下的 default 可过滤出目标数据库的审计记录。
审计字段说明
字段名 | 说明 |
instance_id | Lindorm实例ID。 |
reqId | 请求ID,用于标识该操作审计记录的唯一标识符。 |
user | 该操作审计记录对应的用户名。 |
fail | SQL语句是否执行成功。 |
reason | 该操作审计记录对应的错误信息,仅当该操作出现错误时才会记录该信息。 |
connectionId | 用户所在连接的标识符。 |
protocol | 客户端协议类型,Avatica或MySQL。 |
db | 当前选择的数据库名。 |
sql | 执行的SQL语句。 |
sqlType | SQL类型。包括 |
params | 传入执行SQL语句的参数,多个参数使用半角逗号(,)分割,用于绑定参数的查询场景。 |
sqlTime | SQL开始执行的时间。 |
responseTime | 响应时间。单位:毫秒(ms)。 |
checkRows | 扫描的行数,表示查询时从数据存储引擎返回的行数。 |
affectRows | SQL执行返回的行数。如果是增删改操作,affectRows表示影响的行数。如果是查询语句,affectRows表示返回的行数。 |
dbVersion | 当前连接的服务端SQL版本。 |
hostname | 服务端节点主机名。 |
clientIp | 客户端IP地址。 |
clientPort | 客户端端口。 |
修改审计日志级别
您可以通过ALTER SYSTEM语句修改AUDIT_LEVEL参数的值,调整审计日志的输出级别。
AUDIT_LEVEL参数取值如下:
0:输出DDL日志。
1:输出DDL、DML日志。
2:输出DDL、DQL日志。
3:输出DDL、DML、DQL日志。
示例
修改审计日志级别,输出DDL和DQL日志。
ALTER SYSTEM SET AUDIT_LEVEL = 2;结果验证
您可以执行SHOW SYSTEM VARIABLES LIKE 'AUDIT_LEVEL';语句查看是否修改成功。
更多关于系统变量的使用说明,请参见ALTER SYSTEM。