在日志服务仪表盘中添加过滤器,即对整个仪表盘进行查询过滤或变量替换操作。本文介绍如何为仪表盘添加过滤器及相关示例。

前提条件

背景信息

过滤器用于为仪表盘中的所有统计图表批量修改查询条件或替换占位符变量。每张统计图表实际为一个查询分析语句([search query] | [sql query]),过滤器实质上是操作该查询分析语句。
  • 过滤器类型:通过日志字段的Key和Value进行过滤。在执行过滤器操作时,将其作为过滤条件增加到查询分析语句前,使用ANDNOT连接。例如Key: Value AND [search query] | [sql query],表示在原查询分析语句的结果中,查找包含Key:Value的日志。在过滤器类型的过滤器中,Value可以多选,也可以直接输入。多选时过滤条件之间为或(or)关系。
  • 变量替换类型:指定变量和变量的值。如果仪表盘中已有设置了该变量占位符的统计图表,则添加变量类型的过滤器后,自动将统计图表的查询分析语句中的变量替换为您选择的变量值。对整个仪表盘已设置该变量的统计图表都生效。

操作步骤

  1. 登录日志服务控制台
  2. 单击目标Project。
  3. 在左侧导航栏中,单击配置监控与告警-001
  4. 单击目标仪表盘。
  5. 在仪表盘页面的右上方,单击编辑
  6. 单击仪表盘过滤器-过滤器图标,添加过滤器。
  7. 添加过滤器页面,完成如下配置,并单击确定
    参数 说明
    过滤器名称 过滤器名称。
    显示设置 包含如下选项。
    • 打开标题开关,为过滤器增加标题。
    • 打开边框开关,为过滤器增加边框。
    • 打开背景开关,为过滤器增加白色背景。
    类型 过滤器的类型。
    • 过滤器:通过日志字段的Key和Value进行过滤。在执行过滤器操作时,将其作为过滤条件增加到查询分析语句前,使用ANDNOT进行连接,默认为AND
      • ANDValue AND [search query] | [sql query]
      • NOTValue NOT [search query] | [sql query]

      静态列表项中配置Value,支持设置多个Value。

    • 变量类型:指定变量和变量的值。如果仪表盘中已有设置了该变量占位符的统计图表,则添加变量类型的过滤器后,自动将统计图表的查询分析语句中的变量替换为您选择的变量值。在静态列表项中配置变量的值,支持设置多个变量值。
    Key值
    • 如果您选择过滤器类型,则在Key值中配置您要过滤的Key。
    • 如果您选择变量替换类型,则在Key值中配置占位符变量。
      说明 如果选择变量替换类型,则您要替换变量的统计图表必须已设置占位符变量,且与此处配置的变量相同。
    别名 列的别名,仅在过滤器类型中需配置。
    全局过滤 仅在过滤器类型中需配置。
    • 开启全局过滤,表示在所有字段中过滤Value,无需指定Key。
    • 关闭全局过滤,表示仅在指定的Key中过滤Value。
    静态列表项 设置Key值对应的Value。

    多次单击+,可添加多个Value。如果开启默认选中,则每次打开仪表盘时,默认使用该Value执行过滤。

    添加动态列表项 打开添加动态列表项开关,可添加动态列表项,即为Key值配置动态的Value。动态列表项为对应查询分析语句的查询结果,在不同的时间范围,查询结果是动态变化的。
    打开添加动态列表项开关后,需配置如下参数。
    • 请选择日志库:选择您要查询的日志库。
    • 是否继承过滤:打开是否继承过滤开关后,在执行过滤时继承仪表盘中已有的过滤条件。
    • 查询分析语句:输入查询分析语句并设置时间范围。
    • 动态列表项预览:确认查询结果。

示例1:基于不同时间粒度

例如:采集Nginx日志后,您可以通过查询分析语句查看每分钟的访问PV。如果您想要查看秒级别的访问PV,则可以添加变量过滤器,避免多次修改查询分析语句进行查询。

  1. 添加统计图表到仪表盘。
    在添加过滤器前,需先添加统计图表到仪表盘,重要配置如下所示,具体步骤请参见添加统计图表到仪表盘
    • 查询分析语句
      通过如下查询分析语句查看每分钟的访问PV。
      * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
    • 设置占位符变量
      选中查询分析语句中的60生成占位符变量,变量名为interval设置占位符变量
  2. 添加过滤器。
    重要参数配置如下所示,具体操作步骤请参见本文中的操作步骤
    • 类型选择为变量替换
    • Key值设置为interval
    • 静态列表项1120
  3. 在过滤器中选择1,单击查询
    此时对应的查询分析语句如下所示,查看的是秒级别的访问PV。
    * | SELECT date_format(__time__ - __time__ % 1, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time 
    仪表盘过滤器-示例1-过滤器

示例2:动态切换请求方法

例如:采集Nginx日志后,通过添加动态列表项快速查看不同的请求方法(method)对应的日志。
说明 针对本示例,在执行查询前需为method字段开启索引。
  1. 添加统计图表到仪表盘。
    在添加过滤器前,需先添加统计图表到仪表盘,重要配置如下所示,具体步骤请参见添加统计图表到仪表盘
    通过如下语句可查看每分钟的访问PV。查询语句为*,表示不设置任何过滤条件,即所有的日志都在查询范围之中。此时,可以再添加一个过滤器查看不同请求方法(method)的访问日志。
    * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
  2. 添加过滤器。
    重要参数配置如下所示,具体操作步骤请参见本文中的操作步骤
    • 类型选择为过滤器
    • Key值method
    • 打开添加动态列表项开关。
    • 请选择日志库选择为当前仪表盘所在日志库。
    • 通过输入查询分析语句* |select distinct method
  3. 在过滤器中选择GET
    此时对应的查询分析语句如下所示,表示查询methodGET的访问日志。
    (*) and (method: GET) | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time 
    仪表盘过滤器-示例2-动态列表项