事件配置为原始日志提供可视化、易操作的日志钻取功能,方便您获取更详尽的日志信息,包括预设事件配置和高级事件配置。本文介绍如何在日志服务控制台为原始日志配置事件。

前提条件

  • 已开启并配置索引。更多信息,请参见配置索引
  • 如果配置高级事件为打开日志库,则需提前创建目标日志库。更多信息,请参见创建Logstore
  • 如果配置高级事件为打开快速查询,则需提前创建目标快速查询。更多信息,请参见快速查询

    如果要配置变量,则需要在跳转到的目标快速查询中配置查询分析语句的占位符变量。更多信息,请参见设置占位符变量

  • 如果配置高级事件为打开仪表盘,则需提前创建目标仪表盘。更多信息,请参见创建仪表盘

    如果要配置变量,则在跳转到的目标仪表盘中需有对应的图表已占位符变量。更多信息,请参见设置占位符变量

  • 如果配置高级事件为自定义HTTP链接,则需提前准备好HTTP链接。

背景信息

钻取是数据分析中不可缺少的功能之一,通过改变数据维度的层次、变换分析的粒度从而获取数据中更详尽的信息。它包括向上钻取(roll up)和向下钻取(drill down)。向下钻取是在分析时加深维度,更深入的查看数据,挖掘更大的数据价值,及时做出更加正确的决策。日志服务通过预设和高级事件,为您提供原始日志的向下钻取功能。

预设事件配置

通过预设事件,您可以快速使用and和not拼接查询语句,也可以新建查询语句。

表格原始页签中,单击任意日志字段的值,会弹出预设窗口,提供的操作如下表所述。query例如,您查询和分析框中的语句为* | SELECT status as dim, count(1) as c group by dim。当您单击原始日志字段host中的203.0.113.1时,查询和分析框中的语句变更为如下 :
操作 说明 操作后结果
添加到查询 将您单击的关键词通过and拼接后添加到查询和分析框中,并进行查询。 * and host: "203.0.113.1" | SELECT status as dim, count(1) as c group by dim
从查询中删除 将您单击的关键词通过not拼接后添加到查询和分析框中,并进行查询。 * not host: "203.0.113.1" | SELECT status as dim, count(1) as c group by dim
新建查询 删除查询和分析框中所有语句,按照您单击的关键词新建查询语句,并进行查询。 * and host: "203.0.113.1"

高级事件配置

您可以为日志字段添加不同类型的事件,便于深入分析日志。事件行为包括打开日志库、打开快速查询、打开仪表盘和自定义HTTP链接。

表格原始页签中,单击设置图标下的事件配置,进入高级事件配置窗口。event
说明 每个日志字段支持配置最多10个高级事件。
  1. 登录日志服务控制台
  2. 在Project列表区域,单击目标Project。
  3. 日志存储 > 日志库页签中,单击目标Logstore。
  4. 原始日志表格原始页签中,单击设置图标下的事件配置
  5. 高级事件配置对话框的字段列表中,单击目标字段对应的添加事件
  6. 事件配置区域,配置高级事件。
    事件行为包括打开日志库、打开快速查询、打开仪表盘和自定义HTTP链接,具体操作如下所示。
    • 打开日志库
      设置事件为打开日志库,具体配置如下所示。
      参数 说明
      配置名称 配置名称。
      事件行为 选择打开日志库
      打开新窗口 开启该选项,则在触发高级事件时将在新窗口打开目标日志库查询页面。
      时间范围 设置目标日志库的查询时间范围。可以设置为:
      • 预设:在原始日志页面中单击字段值,跳转到目标日志库查询页面后,保持日志服务的默认查询时间范围,即15分钟(相对)。
      • 继承当前时间:在原始日志页面单击字段值,跳转到目标日志库查询页面后,对应的查询时间范围为查询原始日志时对应的时间。
      • 相对时间:在原始日志页面中单击字段值,跳转到目标日志库查询页面后,对应的查询时间范围为当前指定的相对时间。
      • 整点时间:在原始日志页面中单击字段值,跳转到目标日志库查询页面后,对应的查询时间范围为当前指定的整点时间。
      请选择日志库 选择目标日志库。在触发事件后,将跳转到该日志库的查询页面。
      是否继承过滤 打开是否继承过滤开关,将当前查询已有的过滤条件同步到跳转后的目标日志库的查询页面中,并以AND方式添加到查询和分析语句之前。
      过滤 过滤页签中输入过滤语句,可将该过滤语句同步到跳转后的目标日志库的查询页面中,并以AND方式添加到查询和分析语句之前。

      支持在过滤语句中插入可选参数域,将对应字段的值作为过滤条件。例如单击输入${__topic__},跳转后的日志库的查询语句中会拼接AND后查询。

      变量 暂不支持配置变量。
    • 打开快速查询
      设置事件为打开快速查询,具体配置如下所示。
      参数 说明
      配置名称 配置名称。
      事件行为 选择打开快速查询
      打开新窗口 开启该选项,则在触发事件时将在新窗口打开目标快速查询页面。
      时间范围 设置目标快速查询的时间范围。可以设置为:
      • 预设:在原始日志页面中单击字段值,跳转到目标快速查询的查询页面后,保持日志服务的默认查询时间范围,即15分钟(相对)。
      • 继承当前时间:在原始日志页面单击字段值,跳转到目标快速查询的查询页面后,对应的查询时间范围为查询原始日志时对应的时间。
      • 相对时间:在原始日志页面中单击字段值,跳转到目标快速查询的查询页面后,对应的查询时间范围为当前指定的相对时间。
      • 整点时间:在原始日志页面中单击字段值,跳转到目标快速查询的查询页面后,对应的查询时间范围为当前指定的整点时间。
      请选择快速查询 选择目标快速查询。在触发事件后,将跳转到该快速查询页面。
      是否继承过滤 打开是否继承过滤开关,将当前查询已有的过滤条件同步到跳转后的目标快速查询的查询页面中,并以AND方式添加到查询和分析语句之前。
      过滤 过滤页签中输入过滤语句,可将该过滤语句同步到跳转后的目标快速查询的查询页面中,并以AND方式添加到查询和分析语句之前。

      支持在过滤语句中插入可选参数域,将对应字段的值作为过滤条件。例如单击输入${__topic__},跳转后的快速查询的查询语句中会拼接AND后查询。

      变量 日志服务支持通过变量灵活修改目标快速查询的查询和分析语句,当此处添加的变量与目标快速查询的查询和分析语句中的变量相同时,会将查询和分析语句中的变量替换为触发事件的字段值。您可以在变量页签中配置变量。
      说明
      • 如果选择添加变量,则需要提前在跳转到的目标快速查询中配置查询和分析语句的占位符变量。更多信息,请参见设置占位符变量
      • 最多可添加5个动态变量和5个静态变量。
      • 动态变量:以您单击触发事件时所在日志对应的字段值作为变量值进行查询。
        • 动态变量名:配置变量名。例如您已在快速查询中定义的占位符变量dynamic_ip
        • 动态变量值所在列:以指定列对应的值动态替换目标快速查询的查询和分析语句中的变量。例如选择__source__

          表示以__source__的值替换快速查询中已定义的占位符变量,并进行查询。

      • 静态变量:以您定义的固定值作为查询值进行查询。
        • 静态变量名:配置变量名。例如您已在快速查询中定义的占位符变量static_ip
        • 静态值:以固定的字段值替换目标快速查询的查询和分析语句中的变量。例如203.0.113.1

          表示以static_ip的值203.0.113.1替换快速查询中已定义的占位符变量,并进行查询。占位符变量值为203.0.113.1的日志都会被查询到。

    • 打开仪表盘
      设置事件为打开仪表盘,具体配置如下所示。
      参数 说明
      配置名称 配置名称。
      事件行为 选择打开仪表盘
      打开新窗口 开启该选项,则在触发事件时将在新窗口打开目标仪表盘页面。
      时间范围 设置目标仪表盘的时间范围。可以设置为:
      • 预设:在原始日志页面单击字段值,跳转到目标仪表盘页面后,保持日志服务的默认查询时间范围,即15分钟(相对)。
      • 继承图表时间:在原始日志页面单击字段值,跳转到目标仪表盘页面后,对应的查询时间范围为触发下钻事件时图表对应的时间。
      • 相对时间:在原始日志页面单击字段值,跳转到目标仪表盘页面后,对应的查询时间范围为当前指定的相对时间。
      • 整点时间:在原始日志页面单击字段值,跳转到目标仪表盘页面后,对应的查询时间范围为当前指定的整点时间。
      请选择仪表盘 选择目标仪表盘。在触发事件后,将跳转到该仪表盘页面。
      是否继承过滤 打开是否继承过滤开关,将当前仪表盘已有的过滤条件同步到跳转后的目标仪表盘中。
      过滤 过滤页签中输入过滤语句,可将该过滤语句同步到跳转后的目标仪表盘页面中。

      支持在过滤语句中插入可选参数域,将对应字段的值作为过滤条件。例如单击输入${__source__},跳转后的仪表盘的只展示符合${__source__}取值的日志。

      变量 日志服务支持将此处的变量同步到跳转后的目标仪表盘中。您可以在变量页签中配置变量。
      说明
      • 如果选择添加变量,则需要提前在跳转到的目标仪表盘的图表中配置查询和分析语句的占位符变量。更多信息,请参见设置占位符变量
      • 最多可添加5个动态变量和5个静态变量。
      • 动态变量:以您单击触发事件时所在日志对应的字段值作为变量值进行查询。
        • 动态变量名:配置变量名。例如您已在快速查询中定义的占位符变量dynamic_ip
        • 动态变量值所在列:以指定列对应的值动态同步到目标仪表盘中。例如选择__source__

          表示以__source__的值替换仪表盘查询中已定义的占位符变量,并进行查询。

      • 静态变量:以您定义的固定值作为查询值进行查询。
        • 静态变量名:配置变量名。例如您已在仪表盘数据源中定义的占位符变量static_ip
        • 静态值:以固定的字段值同步到目标仪表盘中。例如203.0.113.1

          表示以static_ip的值203.0.113.1替换仪表盘中已定义的占位符变量,并进行查询。占位符变量值为203.0.113.1的日志都会被查询到。

    • 自定义HTTP链接
      设置事件为打开自定义HTTP链接。
      • HTTP链接中的路径部分表示访问的目的端文件的层级路径。
      • 您可以在定义HTTP链接的路径部分添加可选参数域。当您单击原始日志中的高级事件时,会用字段值替换HTTP链接中的可选域参数,跳转到重新定位的HTTP链接中。
      配置 说明
      配置名称 配置名称。
      事件行为 选择自定义HTTP链接
      协议 访问自定义链接的协议类型。支持HTTP、自定义等。
      请输入链接地址 需要跳转到的目标地址。

      例如www.baidu.com/s?wd=${sls_project},表示跳转到这个地址。事件触发后,${sls_project}替换为您所在Project名称。

      使用系统变量 打开使用系统变量开关后,可选择日志服务的系统变量插入到HTTP链接中,包括${sls_project}${sls_dashboard_title}${sls_chart_name}${sls_chart_title}${sls_region}${sls_start_time}${sls_end_time}${sls_realUid}${sls_aliUid}
      是否转码 打开是否转码开关后,会将链接中的内容进行encode转码。
      可选参数域 日志服务支持将链接中的某一部分替换为触发事件的字段值。触发事件后,自动替换为字段值。

示例

将访问日志采集到名为accesslog的日志库中并创建1个快速查询(IP地址和method的PV分布)实现下钻分析。在原始日志中,为remote_addr字段设置高级事件为打开快速查询。设置完成后,您在原始日志中单击remote_addr即可跳转到快速查询查看对应的PV趋势。

原始日志参考如下:
__source__:127.0.0.1
__tag__:__receive_time__:1613759995
__topic__:nginx_access_log
body_bytes_sent:5077
host:www.dre.mock.com
http_referer:www.jn.mock.com
http_user_agent:Mozilla/5.0 (X11; CrOS i686 12.0.742.91) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.93 Safari/534.30
http_x_forwarded_for:119.0.25.193
remote_addr:203.0.113.1
remote_user:gp_02
request_length:3932
request_method:POST
request_time:35
request_uri:/request/path-2/file-4
status:200
time_local:19/Feb/2021:18:39:50
upstream_response_time:0.09
其操作步骤如下:
  1. 查询请求方法为POST且status为200的访问PV分布情况。创建快速查询IP地址和method的PV分布,其查询语句和查询结果如下:
    * and request_method: POST and status: 200 | select count(*) as pv, remote_addr as ip,request_method as method group by ip,method order by ip desc
    quick
  2. 在快速查询中设置变量methodstatus2。生成变量后的语句变更为如下:
    * and request_method: ${method} and status: ${status2} | select count(*) as pv, remote_addr as ip,request_method as method group by ip,method order by ip desc
  3. 在原始日志页签,为remote_addr配置高级事件,事件行为打开快速查询,其他关键配置如下:
    • 请选择快速查询:IP地址和method的PV分布
    • 过滤:不配置
    • 变量:静态变量为status2,取值为400。动态变量取值为method,取值为request_method
    ddd
  4. 在原始日志页签,单击remote_addr > IP地址和method的PV分布
    该日志字段中request_methodGETstatus404test
  5. 新打开窗口,查询和分析框中语句变更为如下:
    * and request_method: GET and status: 400 | select count(*) as pv, remote_addr as ip,request_method as method group by ip,method order by ip desc
  6. 查看快速查询结果。

    该示例中,静态变量status2取值为400,对应status字段。您单击触发事件所在日志的request_method取值为GET,所以动态变量method取值为GET。快速查询的结果是GET中status为400的IP地址PV分布。

    同样的,当您单击触发事件所在日志的request_method取值为PUT时,快速查询的是PUT中status为400的IP地址的PV分布。

    preview