根据 Grafana 中的变量值显示或隐藏查询结果
Show or hide query result depending on variable value in Grafana
我正在尝试 show/hide 根据仪表板变量 值在图表面板上查询 。
动机。
在同一个图表面板(用于显示多个主机)上,我有两个查询:
rate(ClickHouseProfileEvents_Query{instance=~"$instance"}[$__rate_interval])
并且:
max_over_time( (irate(ClickHouseProfileEvents_Query{instance=~"$instance"}[2m]))[$__rate_interval:15s] )
其中 ClickHouseProfileEvents_Query
是计数器。
第一个是通常的比率,更适合显示趋势,另一个稍微复杂一些,但显示所有选择.当然,我想为图表制作一个面板,但也有一些开关,如 trends/picks 来分析两者。我引入了一个带有自定义值的 grafana 仪表板变量,但我不明白如何使用它来隐藏或显示特定查询。
此外,我尝试使用 or
或 unless
之类的东西进行单个查询,但没有成功。
环境:Grafana v7.5.2,Prometheus v2.26.0
更新:
感谢Marcelo Ávila de Oliveira for 。我目前的解决方案有点不同,但基于他的想法。
首先,我添加类型为 Custom
的变量,其值为 1
和 null.
其次,我在查询中使用乘法而不是除法。
最后,例如,当我关闭趋势显示时,我也没有在图表和图例中看到它们。
- 创建一个具有 2 个值的自定义变量:0 和 1
- 将要控制的查询除以变量
- 选择“ 1”时,显示所有查询
- 选择“ 0”查询,您添加了划分
我只想指出,您甚至可以使用一个变量过滤多个查询,例如,如果您有 3 个查询:
query1 * ($var % 2)
query2 * ($var % 3)
query3 * ($var % 5)
Value for $var ALL: 1
Value for $var only select query1 : 15
Value for $var only select query2 : 10
Value for $var only select query3 : 6
适用于无限查询,但数字会变大(对于 4 个查询也有 % 7:105 (2), 70 (3) , 126 (5) ,120 (7)),但我认为你不应该无论如何,一个仪表板中的查询不会超过 4-5 个。
残差域救赎;-)
除了马塞洛的答案,而不是除以零。有一个二进制 operator or and and 在 Prometheus 中,它的作用类似于 disable/enable 查询按钮。
或 -> 并集
AND -> 交集
因此,当我们在实际查询和某个字符串之间应用 OR 运算符时,它将按原样查询,而使用 AND 运算符时,它将与某个字符串相交,这将导致没有结果。
使用 Grafana 7.3.0 或以上版本。
用或和和[=51定义自定义变量=] 自定义值。
show : or 表示 label : value for variable
添加 $variable_name 作为查询的后缀或前缀以及一个自定义字符串。
当显示 时,它将显示图表以及图例。
在下图中寻找 sum 在右侧 table 和图表求和图例查询。
当隐藏时,将完全隐藏图形和图例文本。
下图中sum隐藏在右侧table和对应的图形中。
我正在尝试 show/hide 根据仪表板变量 值在图表面板上查询 。
动机。
在同一个图表面板(用于显示多个主机)上,我有两个查询:
rate(ClickHouseProfileEvents_Query{instance=~"$instance"}[$__rate_interval])
并且:
max_over_time( (irate(ClickHouseProfileEvents_Query{instance=~"$instance"}[2m]))[$__rate_interval:15s] )
其中 ClickHouseProfileEvents_Query
是计数器。
第一个是通常的比率,更适合显示趋势,另一个稍微复杂一些,但显示所有选择.当然,我想为图表制作一个面板,但也有一些开关,如 trends/picks 来分析两者。我引入了一个带有自定义值的 grafana 仪表板变量,但我不明白如何使用它来隐藏或显示特定查询。
此外,我尝试使用 or
或 unless
之类的东西进行单个查询,但没有成功。
环境:Grafana v7.5.2,Prometheus v2.26.0
更新:
感谢Marcelo Ávila de Oliveira for
首先,我添加类型为 Custom
的变量,其值为 1
和 null.
其次,我在查询中使用乘法而不是除法。
最后,例如,当我关闭趋势显示时,我也没有在图表和图例中看到它们。
- 创建一个具有 2 个值的自定义变量:0 和 1
- 将要控制的查询除以变量
- 选择“ 1”时,显示所有查询
- 选择“ 0”查询,您添加了划分
我只想指出,您甚至可以使用一个变量过滤多个查询,例如,如果您有 3 个查询:
query1 * ($var % 2)
query2 * ($var % 3)
query3 * ($var % 5)
Value for $var ALL: 1
Value for $var only select query1 : 15
Value for $var only select query2 : 10
Value for $var only select query3 : 6
适用于无限查询,但数字会变大(对于 4 个查询也有 % 7:105 (2), 70 (3) , 126 (5) ,120 (7)),但我认为你不应该无论如何,一个仪表板中的查询不会超过 4-5 个。
残差域救赎;-)
除了马塞洛的答案,而不是除以零。有一个二进制 operator or and and 在 Prometheus 中,它的作用类似于 disable/enable 查询按钮。
或 -> 并集 AND -> 交集
因此,当我们在实际查询和某个字符串之间应用 OR 运算符时,它将按原样查询,而使用 AND 运算符时,它将与某个字符串相交,这将导致没有结果。
使用 Grafana 7.3.0 或以上版本。
用或和和[=51定义自定义变量=] 自定义值。
show : or 表示 label : value for variable
添加 $variable_name 作为查询的后缀或前缀以及一个自定义字符串。
当显示 时,它将显示图表以及图例。
在下图中寻找 sum 在右侧 table 和图表求和图例查询。
当隐藏时,将完全隐藏图形和图例文本。
下图中sum隐藏在右侧table和对应的图形中。