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

前提条件

  • 已采集日志。具体操作,请参见数据采集
  • 已创建索引。具体操作,请参见创建索引
    重要 扫描的目标字段无需配置索引,但查询语句仍依赖于索引。

操作步骤

重要 目前,仅华北1(青岛)、华北3(张家口)、华北6(乌兰察布)、华南3(广州)、西南1(成都)、印度尼西亚(雅加达)、印度(孟买)、日本(东京)、马来西亚(吉隆坡)、英国(伦敦)、美国(弗吉尼亚)、美国(硅谷)、澳大利亚(悉尼)、德国(法兰克福)支持扫描分析功能。
  1. 登录日志服务控制台
  2. 在Project列表区域,单击目标Project。
  3. 日志存储 > 日志库页签中,单击目标Logstore。
  4. 单击扫描图标,开启扫描功能。
    扫描
  5. 在输入框中,输入扫描语句。

    扫描语句格式为查询语句 | WHERE bool_expression查询语句|分析语句(标准SQL)

  6. 单击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