筛选仪表盘与统计图表

变量的语法格式为${{变量名|默认值}},它允许您动态地调整查询参数中的占位符。通过设定这些变量,您可以对统计图表或整个仪表盘进行筛选,而无需直接改动查询分析语句。本文向您介绍如何对仪表盘整体及单个统计图表进行筛选。

添加过滤器筛选仪表盘

过滤器类型

每张统计图表实际为一个查询和分析语句,过滤器用于为仪表盘中的所有统计图表批量修改查询条件或替换占位符变量,实现对整个仪表盘数据的筛选功能。日志服务支持三种类型的过滤器:

  • 过滤器类型的过滤器:通过日志字段的Key和Value进行过滤。在原查询和分析语句的结果中,查找包含或者不包含Key:Value的日志。例如查看不同请求方法的访问PV时,可以添加过滤器类型的过滤器,通过动态列表项快速查看。

  • 变量类型的过滤器:先添加变量,然后添加过滤器,自动将统计图表的查询和分析语句中的变量替换为您选择的变量值。例如查看每10秒、60秒或600秒的访问PV。

  • 时序过滤器:采集时序数据后,可以通过Label和Value进行筛选,多个过滤条件取交集。

过滤器类型的过滤器

1. 将统计图表添加到仪表盘

  1. 添加仪表盘

  2. 在目标仪表盘的编辑模式下,单击添加 > 添加新图表

  3. 在页面左侧配置查询时间范围、Logstore、查询分析语句。在页面右侧选择表格。单击页面上方的应用查看图表配置效果,然后单击确定保存图表。

    查看每分钟的访问PV的查询分析语句如下:

    * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

2. 添加过滤器类型的过滤器

  1. 在目标仪表盘的编辑模式下,单击页面的右上方的仪表盘过滤器-过滤器图标图标。

  2. 过滤器面板中,完成以下设置,然后单击确定

    用于动态列表项预览的示例查询与分析语句如下:

    *|select distinct request_method

    image

    过滤器类型的过滤器参数说明

    参数

    说明

    名称

    过滤器名称。

    类型

    过滤器:创建过滤器类型的过滤器,通过字段名和字段值进行过滤。在执行过滤器操作时,将其作为过滤条件增加到查询和分析语句前,使用ANDNOT进行连接,默认为AND

    • ANDValue AND [search query] | [sql query]

    • NOTValue NOT [search query] | [sql query]

    静态列表项中添加值,支持设置多个值。

    全局过滤

    • 开启全局过滤,表示在所有字段中过滤Value,无需指定Key。

    • 关闭全局过滤,表示仅在指定的Key中过滤Value。

    Key值

    Key值中配置目标字段名。

    别名

    列的别名。

    自动过滤

    开启自动过滤,会自动过滤掉数据源中不存在的值。

    显示设置

    设置过滤器的显示样式。

    • 打开显示标题开关,为过滤器增加标题。

    • 打开显示边框开关,为过滤器增加边框。

    • 打开显示背景开关,为过滤器增加白色背景。

    查询方式

    使用AND方式NOT方式进行连接。

    静态列表项

    设置Key值对应的Value。

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

    添加动态列表项

    打开添加动态列表项开关,可添加动态列表项,即为Key值配置动态的Value。动态列表项为对应查询和分析语句的查询结果,在不同的时间范围内,查询结果是动态变化的。 打开添加动态列表项开关后,需配置如下参数。

    • 请选择Project:选择您要查询的项目。

    • 请选择日志库:选择您要查询的日志库。

    • 是否继承过滤:打开是否继承过滤开关后,在执行过滤时继承仪表盘中已有的过滤条件。

    • 查询分析:输入查询和分析语句并设置时间范围。

    • 动态列表项预览:确认查询结果。

  3. 调整页面布局,单击保存,在保存仪表盘对话框,单击确认

3. 验证结果

在目标仪表盘页面,在request_method下拉框中选择GETPUT,代表查询GET和PUT方法的访问PV。该操作对应的查询和分析语句如下:

(*)and (request_method: GET OR request_method: PUT)| SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time 

image

变量类型的过滤器

1. 为统计图表的查询分析语句设置变量

  1. 添加仪表盘

  2. 在目标仪表盘编辑模式下,单击添加 > 添加新图表

  3. 在页面左侧配置查询时间范围、Logstore、设置变量的查询分析语句。在页面右侧选择表格。单击页面上方的应用查看图表配置效果,然后单击确定保存图表。

    查看不同时间间隔访问PV的查询分析语句如下,其中的${{interval|60}}代表设置变量interval,默认值是60。

    * | SELECT date_format(__time__ - __time__ % ${{interval|60}}, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    设置变量

2. 添加变量类型的过滤器

  1. 在目标仪表盘编辑模式下,单击页面的右上方的仪表盘过滤器-过滤器图标图标。

  2. 过滤器面板中,完成以下设置,然后单击确定

    说明
    • Key值必须为您在设置变量步骤中设置的变量,本示例为interval

    • 静态列表项用于配置不同查询时长范围的变量值。

    image

    变量类型的过滤器参数说明

    参数

    说明

    名称

    过滤器名称。

    类型

    变量替换:创建变量类型的过滤器,指定变量和变量的值。如果仪表盘中已有设置了该变量占位符的统计图表,则添加变量类型的过滤器后,自动将统计图表的查询和分析语句中的变量替换为您选择的变量值。在静态列表项中配置变量的值,支持设置多个变量值。

    Key值

    Key值中配置变量。

    说明

    您要替换变量的统计图表必须已设置占位符变量,且与此处配置的变量相同。

    别名

    列的别名。

    显示设置

    设置过滤器的显示样式。

    • 打开显示标题开关,为过滤器增加标题。

    • 打开显示边框开关,为过滤器增加边框。

    • 打开显示背景开关,为过滤器增加白色背景。

    显示组件类型

    选择组件类行的方式:

    • 自由输入

    • 下拉列表

    静态列表项

    设置Key值对应的Value。

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

    添加动态列表项

    打开添加动态列表项开关,可添加动态列表项,即为Key值配置动态的Value。动态列表项为对应查询和分析语句的查询结果,在不同的时间范围内,查询结果是动态变化的。 打开添加动态列表项开关后,需配置如下参数。

    • 请选择Project:选择您要查询的项目。

    • 请选择日志库:选择您要查询的日志库。

    • 是否继承过滤:打开是否继承过滤开关后,在执行过滤时继承仪表盘中已有的过滤条件。

    • 查询分析:输入查询和分析语句并设置时间范围。

    • 动态列表项预览:确认查询结果。

  3. 调整页面布局,单击保存,在保存仪表盘对话框,单击确认

3. 验证结果

  • 在目标仪表盘页面,将PV过滤器interval设置为10,代表查询每10秒的访问PV。

    该操作对应的查询和分析语句如下:

    * | SELECT date_format(__time__ - __time__ % 10, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    image

  • 在目标仪表盘页面,将PV过滤器interval设置为60,代表查询每60秒的访问PV。

    该操作对应的查询和分析语句如下:

    * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    image

时序过滤器

  1. 接入时序数据:例如采集主机监控数据

  2. 添加过滤器:采集主机数据后,日志服务会自动创建一个名叫主机监控的仪表盘。在主机监控编辑模式下,单击页面的右上方的仪表盘过滤器-过滤器图标图标。在过滤器面板中,完成以下设置,然后单击确定

    image

    时序过滤器参数说明

    参数

    说明

    名称

    过滤器名称。

    类型

    时序过滤器:动态添加Label和Value进行过滤。添加时序过滤器后,可以手动对时序库的Label和Value进行过滤显示。

    Key值

    过滤器的唯一标识。

    别名

    列的别名。

    显示设置

    设置过滤器的显示样式。

    • 打开显示标题开关,为过滤器增加标题。

    • 打开显示边框开关,为过滤器增加边框。

    • 打开显示背景开关,为过滤器增加白色背景。

    请选择Project

    选择您要查询的Project。

    请选择时序库

    选择您要查询的时序库。

  3. 筛选仪表盘:在仪表盘页面顶端的下拉列表,选择Label和Value。

    image

添加变量替换筛选单个统计图表

您可以对单个统计图表设置变量替换,日志服务将在当前统计图表的左上角添加一个过滤器,从而实现对单个统计图表的筛选。此处以查看不同时间间隔访问PV的表格示例,配置步骤如下。

1. 配置变量替换

  1. 在编辑图表页面左侧配置查询时间范围、Logstore、设置变量的查询分析语句。

    查看不同时间间隔访问PV的查询分析语句如下,其中的${{date|60}}代表设置变量date,默认值是60。

    * | select __time__ - __time__ % ${{date | 60}} as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000

    image

  2. 配置变量替换。

    1. 在编辑图表页面右侧图表类型选择表格,单击变量替换 > 添加变量替换

      image

    2. 在变量替换弹框设置变量key为date,变量的显示名为时间,变量值的显示名为min、hour,对应的变量值为60、3600。

      变量替换

  3. 单击页面右上角的确定,然后单击右上角保存,在保存仪表盘对话框,单击确认

2. 筛选统计图表

设置完成后,统计图表的左上方将出现一个过滤器。选择对应的值后,日志服务将根据您选择的值执行一次查询与分析操作。例如您选择hour,对应的查询分析语句为:

(*)| select __time__ - __time__ % 3600 as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000 

image

变量与交互事件配合使用

在配置统计图表的交互事件时,您可以设定变量,这样,每当您点击目标交互事件,该变量就会自动更新为触发事件的值,从而便于您进行相应的查询与分析。具体示例,请参见配置示例

image