2

我正在尝试根据仪表板变量值在图形面板上显示/隐藏查询。

动机。

在同一个图形面板(用于显示多个主机)上,我有两个查询:

rate(ClickHouseProfileEvents_Query{instance=~"$instance"}[$__rate_interval])

和:

max_over_time( (irate(ClickHouseProfileEvents_Query{instance=~"$instance"}[2m]))[$__rate_interval:15s] )

哪里ClickHouseProfileEvents_Query有柜台。

第一个是通常的比率,更适合显示趋势,另一个更复杂一些,但显示所有选择。当然,我想为图表制作一个面板,但也有一些开关,如趋势/选择来分析两者。我引入了一个带有自定义值的 grafana 仪表板变量,但我不明白如何使用它来隐藏或显示特定查询。

or此外,我尝试使用类似或unless但未成功的内容进行单个查询。

环境:Grafana v7.5.2、Prometheus v2.26.0

更新

感谢Marcelo Ávila de Oliveira回答。我目前的解决方案有点不同,但基于他的想法。

首先,我添加Custom带有值的类型变量1null.

在此处输入图像描述

其次,我在查询中使用乘法而不是除法。

在此处输入图像描述

最后,结果,例如,当我关闭趋势显示时,我也没有在图表和图例中看到它们

在此处输入图像描述

4

3 回答 3

2
  • 创建具有 2 个值的自定义变量:0 和 1

在此处输入图像描述

  • 将要控制的查询除以变量

在此处输入图像描述

  • 选择“1”时,将显示所有查询

在此处输入图像描述

  • When "0" is selected the query you've added the division is hided

在此处输入图像描述

于 2021-04-02T17:01:16.483 回答
1

除了马塞洛的答案,而不是除以零。Prometheus 中有一个二元运算符 or and and,它的作用类似于禁用/启用查询按钮。

OR -> 并集 AND -> 交集

因此,当我们在实际查询和某个字符串之间应用 OR 运算符时,它将按原样查询,而使用 AND 运算符时,它将与某个字符串相交,这将导致没有结果。

使用 Grafana 7.3.0 或更高版本。

使用or定义值定义自定义变量。

显示:或表示标签:变量的

在此处输入图像描述

将 $variable_name 作为后缀或前缀添加到查询以及一个自定义字符串。 在此处输入图像描述

show时,它将显示图形以及图例。在下图中查找右表中的sum和 sum 图例查询的图形。 在此处输入图像描述

hide时,它​​将完全隐藏图形和图例文本。在下图中,sum隐藏在右表和与之对应的图表中。 在此处输入图像描述

于 2021-12-03T17:31:49.883 回答
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 个查询。

残基拯救 ;-)

于 2021-12-03T15:51:07.507 回答