查询与分析审计日志
对表格存储实例中的资源进行操作时,系统会自动采集审计日志并建立索引。您可以在审计日志页面对采集到的日志进行实时查询与分析。
前提条件
已开通日志审计功能。具体操作,请参见开通审计日志。
操作步骤
进入审计日志页面。
登录表格存储控制台。
在顶部菜单栏,选择地域。
在左侧导航栏,单击审计日志。
在审计日志页面,输入查询和分析语句。
查询和分析语句由查询语句和分析语句构成,格式为
查询语句|分析语句
。例如* | SELECT TableName, count(*) AS OperationCount GROUP BY TableName
。查询语句和分析语句以竖线(|)分割,查询语句的语法为日志服务的专有语法。查询语句可单独使用,分析语句必须与查询语句一起使用,即分析功能是基于查询结果或全量数据进行的。
语句类型
说明
查询语句
查询语句用于指定日志查询时的过滤规则,返回符合条件的日志。更多信息,请参见查询语法。
查询语句可以为关键词、数值、数值范围、空格、星号(*)等。 如果为空格或星号(*),则表示无过滤条件。
分析语句
分析语句用于对查询结果或全量数据进行计算和统计。更多信息,请参见聚合函数。
常用示例如下:
示例一:查询使用最多的Top 5接口。
重要由于通过表格存储控制台执行功能操作时,系统会自动生成探测是否为创建二级索引操作的日志,因此查询操作相关信息时需要排除探测日志信息,只需使用
TableName != '$$'
条件过滤探测日志即可。* | SELECT API,COUNT(API) as count where TableName != '$$' group by API order by count desc limit 5
示例二:查询对表进行删除的调用者以及调用者删除的表信息。
* | SELECT TableName,InvokerUid,time where API = 'DeleteTable'
示例三:查询所有对exampleinstance实例下exampletable表进行操作的调用者信息以及调用者执行的操作。
* | SELECT API,InvokerUid,from_unixtime(time/1000000,'Asia/shanghai') as time where InstanceName = 'exampleinstance' and TableName = 'exampletable'
单击最近15分钟,设置查询的时间范围。
您也可以在分析语句中通过
__time__
字段指定时间范围(闭合区间),例如* | SELECT * FROM log WHERE __time__>1558013658 AND __time__< 1558013660
。通过这两种方式设置的时间范围,其精度都为分钟, 查询和分析结果存在1分钟以内的误差。如果您需要精确到秒,需要在分析语句中指定时间时,使用from_unixtime函数或to_unixtime函数转换下时间格式。
系统会显示查询结果,如下图所示。
说明不同查询语句的返回结果显示不同,请以实际显示为准。
您可以查看审计日志的直方图信息、原始日志、统计图表、日志聚类信息等。
更多操作
配置默认查询设置
系统默认首次进入页面会启用查询功能且默认查询15分钟内的日志,您可以根据需要修改默认查询设置。
在审计日志页面,单击图标。
在查询设置悬浮框,根据需要关闭或者打开首次进入页面是否启用查询开关以及自定义查询时间。
单击确定。
扫描日志
扫描(Scan)功能支持免配置索引进行目标字段的扫描,用于查询和分析相关日志。更多信息,请参见扫描(Scan)日志。
在审计日志页面,单击图标,开启扫描功能。
在输入框中,输入扫描语句。
扫描语句格式为
查询语句 | WHERE bool_expression
或查询语句|分析语句(标准SQL)
。单击最近15分钟,设置扫描的时间范围。
为查询结果配置告警监控规则。
告警监控规则用于监控日志查询和分析结果。具体操作,请参见为日志配置告警监控规则。