扫描(Scan)日志

日志服务扫描(Scan)功能支持免配置索引进行目标字段的扫描,用于查询和分析相关日志。扫描功能包含扫描查询和扫描分析,本文介绍扫描功能的相关操作和示例。

前提条件

  • 已采集日志。具体操作,请参见数据采集

  • 已创建索引。具体操作,请参见创建索引

    重要

    扫描的目标字段无需配置索引,但查询语句仍依赖于索引。

操作步骤

  1. 登录日志服务控制台

  2. 在Project列表区域,单击目标Project。

    image

  3. 在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。

    image

  4. 在输入框中,输入扫描语句。

    扫描语句格式为查询语句 | SPL语句查询语句 | set session mode=scan; 分析语句(标准SQL)

  5. 在页面右上方设置扫描的时间范围。

    您可以设置相对时间、整点时间和自定义时间。 此处设置的扫描时间最小粒度为分钟。

自动扫描

重要

自动扫描和翻页功能仅适用于扫描查询操作。

执行一次扫描查询操作后,如果提示本次未扫描得到结果,您可以单击扫描图标,使系统自动扫描查询日志,直到返回符合扫描条件的日志或扫描次数达到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