根据 Grafana 中的变量值显示或隐藏查询结果

7 grafana prometheus promql grafana-variable

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

\n

动机。

\n

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

\n
rate(ClickHouseProfileEvents_Query{instance=~"$instance"}[$__rate_interval])\n
Run Code Online (Sandbox Code Playgroud)\n

和:

\n
max_over_time( (irate(ClickHouseProfileEvents_Query{instance=~"$instance"}[2m]))[$__rate_interval:15s] )\n
Run Code Online (Sandbox Code Playgroud)\n

哪里ClickHouseProfileEvents_Query有柜台。

\n

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

\n

or另外,我尝试使用诸如or 之类的东西进行单个查询,unless但没有成功。

\n

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

\n

更新

\n

感谢Marcelo \xc3\x81vila de Oliveira回答。我当前的解决方案有点不同,但基于他的想法。

\n

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

\n

在此输入图像描述

\n

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

\n

在此输入图像描述

\n

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

\n

在此输入图像描述

\n

Ama*_*ain 6

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

或 -> 并集

与 -> 交集

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

使用 Grafana 版本 7.3.0 或更高版本。

使用或以及自定义值定义自定义变量。

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

在此输入图像描述

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

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

hide时,它​​将完全隐藏图形和图例文本。在下图中,总和从右表及其对应的图表中隐藏。 在此输入图像描述


Mar*_*ira 3

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

在此输入图像描述

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

在此输入图像描述

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

在此输入图像描述

  • 选择“0”时,您添加的部门的查询将被隐藏

在此输入图像描述