如何创建基于其他变量的反应式 Grafana 变量,所有这些变量都在仪表板设置中定义?

Posted

技术标签:

【中文标题】如何创建基于其他变量的反应式 Grafana 变量,所有这些变量都在仪表板设置中定义?【英文标题】:How do I create reactive Grafana variables that are based on other variables, all of which are defined in the dashboard settings? 【发布时间】:2021-09-17 19:56:30 【问题描述】:

我正在尝试在 Grafana 中制作仪表板,其中所有变量都在仪表板设置中定义。其中大部分是常量,尽管我在仪表板中有三个输入变量,它们会被动地更改其他几个变量。我的问题是我无法定义会根据输入值的值发生反应性变化的新变量。

例如,假设我定义了一个设置为 10 的输入变量“input1”。我想创建一个新变量“test”= $input1 * 10。当我尝试这样做时,我得到了那个 test = "$input1 * 10" 而不是 test = 100。

即使我使用任何两个常量,例如。 "a" = 10 和 "b" = 2,如果我尝试创建一个新变量 "c" = $a*$b,我会得到 c = "$a*$b" 而不是 c = 20。

有没有办法在定义变量时执行这样的计算?我没有从任何外部数据源查询或提取数据 - 所有变量都在仪表板设置中定义。

【问题讨论】:

【参考方案1】:

Grafana 无法评估变量的计算。但是你可以在使用过的数据源中做到这一点。

将变量切换为Query类型并写入查询,将由选定的数据源执行并返回计算值。

PostgreSQL 类型数据源的示例:

SELECT $a*$b

当然,并非所有数据源类型都可以执行这种计算。 SQL 数据源通常可以做到这一点。

【讨论】:

@CarlLangaker 您好,您是该网站的新手,但如果对您有帮助,通常会接受i.stack.imgur.com/LkiIZ.png 的回答

以上是关于如何创建基于其他变量的反应式 Grafana 变量,所有这些变量都在仪表板设置中定义?的主要内容,如果未能解决你的问题,请参考以下文章

Grafana 仪表板变量 - 在基于查询的变量中处理 NULL 值

如何从 ElasticSearch 创建两个级别的 Grafana 变量?

在 Grafana 中,如何使用我创建的变量并将其作为值提供给图形的查询搜索?

如何在 grafana 仪表板中查询 influxdb 以创建模板变量

grafana 使用基于指标的普罗米修斯查询定义变量

如何在 Grafana 中进行 Simple-JSON 变量模板查询?