日志服务扫描(Scan)功能支持免配置索引进行目标字段的扫描,用于查询和分析相关日志。扫描功能包含扫描查询和扫描分析,本文介绍扫描功能的相关操作和示例。
前提条件
操作步骤
重要 目前,仅华北1(青岛)、华北3(张家口)、华北6(乌兰察布)、华南3(广州)、西南1(成都)、印度尼西亚(雅加达)、印度(孟买)、日本(东京)、马来西亚(吉隆坡)、英国(伦敦)、美国(弗吉尼亚)、美国(硅谷)、澳大利亚(悉尼)、德国(法兰克福)支持扫描分析功能。
- 登录日志服务控制台。
- 在Project列表区域,单击目标Project。
- 在 页签中,单击目标Logstore。
- 单击
图标,开启扫描功能。
- 在输入框中,输入扫描语句。
扫描语句格式为
查询语句 | WHERE bool_expression
或查询语句|分析语句(标准SQL)
。 - 单击15分钟(相对),设置扫描的时间范围。您可以设置相对时间、整点时间和自定义时间。 此处设置的扫描时间最小粒度为分钟。
自动扫描
重要 自动扫描和翻页功能仅适用于扫描查询操作。
执行一次扫描查询操作后,如果提示本次未扫描得到结果,您可以单击图标,使系统自动扫描查询日志,直到返回符合扫描条件的日志或扫描次数达到20次。

在自动扫描对话框中,将展示自动扫描的进展。

翻页说明
当您执行一次翻页操作时,日志服务会对应执行一次扫描查询操作,用于保证扫描结果的连续性。
每次默认最多扫描100,000条日志,在翻页过程中,可能出现某页中显示的日志数量少于每页显示对应的数量,但仍支持向后翻页。即表示当前查询的100,000条日志中,满足扫描条件的日志数量少于每页显示对应的数量。
例如日志总数为200,000条,每页支持显示20条,当您执行一次扫描操作后,只返回15条且向后翻页功能可用,此时说明前100,000条日志中只有15条日志满足扫描条件。您可以执行翻页操作,日志服务会自动在后100,000条日志中,执行第二次扫描操作,并返回符合条件的日志。

示例
- 通过扫描功能查询请求时间大于100毫秒的请求对应的日志。
- 扫描语句
* | where cast(request_time as bigint) >= 100
- 扫描结果
- 扫描语句
- 通过扫描功能查询S3FDy2GigffB0ceG用户发起的请求对应的日志。
- 扫描语句
*| WHERE id='S3FDy2GigffB0ceG'
- 扫描结果
- 扫描语句
- 通过扫描功能计算各个请求方法对应的请求数量。重要 目前,仅华北1(青岛)、华北3(张家口)、华北6(乌兰察布)、华南3(广州)、西南1(成都)、印度尼西亚(雅加达)、印度(孟买)、日本(东京)、马来西亚(吉隆坡)、英国(伦敦)、美国(弗吉尼亚)、美国(硅谷)、澳大利亚(悉尼)、德国(法兰克福)支持扫描分析功能。
- 扫描语句
* | SELECT request_method, count(*) AS PV GROUP BY request_method
- 扫描结果
- 扫描语句
API调用
您可以通过GetLogs接口使用扫描功能。更多信息,请参见GetLogs。
重要 如果您要使用扫描功能,需要在query参数的分析语句中添加
set session mode=scan;
,表示开启扫描功能,例如* | set session mode=scan; select count(*) as pv
。