日志服务扫描(Scan)功能支持免配置索引进行目标字段的扫描,用于查询和分析相关日志。扫描功能包含扫描查询和扫描分析,本文介绍扫描功能的相关操作和示例。
前提条件
操作步骤
登录日志服务控制台。
在Project列表区域,单击目标Project。
在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。
在输入框中,输入扫描语句。
扫描语句格式为
查询语句 | SPL语句
或查询语句 | set session mode=scan; 分析语句(标准SQL)
。在页面右上方设置扫描的时间范围。
您可以设置相对时间、整点时间和自定义时间。 此处设置的扫描时间最小粒度为分钟。
自动扫描
自动扫描和翻页功能仅适用于扫描查询操作。
执行一次扫描查询操作后,如果提示本次未扫描得到结果,您可以单击图标,使系统自动扫描查询日志,直到返回符合扫描条件的日志或扫描次数达到20次。
在自动扫描对话框中,将展示自动扫描的进展。
翻页说明
当您执行一次翻页操作时,日志服务会对应执行一次扫描查询操作,用于保证扫描结果的连续性。
每次默认最多扫描100,000条日志,在翻页过程中,可能出现某页中显示的日志数量少于每页显示对应的数量,但仍支持向后翻页。即表示当前查询的100,000条日志中,满足扫描条件的日志数量少于每页显示对应的数量。
例如日志总数为200,000条,每页支持显示20条,当您执行一次扫描操作后,只返回15条且向后翻页功能可用,此时说明前100,000条日志中只有15条日志满足扫描条件。您可以执行翻页操作,日志服务会自动在后100,000条日志中,执行第二次扫描操作,并返回符合条件的日志。
示例
通过扫描功能查询请求状态为成功的请求对应的日志。
扫描语句
* | where Status='Success'
扫描结果
通过扫描功能查询一个文件在一个时间点对应的日志。
扫描语句
* | where file = 'file:Android' | where time ='[2024-04-24T10:07:27.427014479]'
扫描结果
通过扫描功能计算各个请求状态对应的请求数量。
扫描语句
说明扫描分析功能,需要在SQL前面加上
set session mode=scan;
,表示使用扫描模式* | set session mode=scan; SELECT Status, count(*) AS PV GROUP BY Status
扫描结果
API调用
您可以通过GetLogs接口使用扫描功能。更多信息,请参见GetLogs - 查询日志库日志。
如果您要使用扫描功能,需要在query参数的分析语句中添加set session mode=scan;
,表示开启扫描功能,例如* | set session mode=scan; select count(*) as pv
。