变量是值的占位符,您可以在查询分析语句中使用变量。通过变量,您可以创建更具交互性和动态性的仪表盘。
功能入口
不支持在Logstore查询分析页面的查询分析语句中设置变量。
登录日志服务控制台。
进入仪表盘页面。
在Project列表区域,单击目标Project。
在左侧导航栏中,选择
。在仪表盘列表中,单击目标仪表盘。
在仪表盘页面,单击编辑。
单击新建图表或找到目标图表,选择 ,进入图表编辑页面。
在查询分析语句中,设置变量。
配置说明
当您在交互事件或过滤器中设置了变量时,需在查询分析语句中添加变量。变量的语法为${{变量名|默认值}}
。例如host=~"^.*"
可设置为host=~"${{host|^.*}}"
。
交互事件
为当前统计图表设置变量并保存到仪表盘A,如果其他统计图表的交互事件为跳转到仪表盘A且设置的变量名和当前统计图表的变量名相同,则单击其他统计图表中的值时会跳转到仪表盘A,且变量替换为触发交互事件的值,并以替换变量后的查询分析语句刷新统计图表。更多信息,请参见交互事件。
过滤器
如果仪表盘中已有添加了变量的统计图表,则添加变量类型的过滤器后,自动将统计图表的查询和分析语句中的变量替换为您选择的变量值。对整个仪表盘已设置该变量的统计图表都生效。配置示例,请参见添加变量类型的过滤器。
变量替换
变量替换相当于为单个统计图表添加变量类型的过滤器。您在通用配置中设置了变量替换后,日志服务将在当前统计图表的左上边添加一个过滤器。您可以在过滤器中选择对应的值,日志服务会自动将查询和分析语句中的变量替换为您所选择的变量值,执行一次查询和分析操作。配置示例,请参见示例2:设置变量替换。
配置示例
示例1:在查询分析语句中设置变量
在如下查询分析语句中,将request_method字段的值设置为变量,即将星号(*)设置为${{method|PUT}}
。
request_method: * | SELECT __time__ - __time__ %60 AS time, COUNT(1) AS PV GROUP BY time ORDER BY time
示例2:设置变量替换
在如下查询分析语句中,将60设置为变量,格式为
${{date | 60}}
。* | select __time__ - __time__ % 60 as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000
在通用配置中设置变量替换。
设置变量key为date,变量的显示名为时间,变量值的显示名为min、hour,对应的变量值为60、3600。
设置完成后,统计图表的左上方将出现一个过滤器。选择对应的值后,日志服务将根据您选择的值执行一次查询与分析操作。例如您选择hour,对应的查询分析语句为
* | SELECT __time__ - __time__ %3600 AS time, COUNT(*) AS pv, approx_distinct(remote_addr) AS uv GROUP BY time ORDER BY time LIMIT 10000
。