首页 > 解决方案 > 如何创建基于其他变量的反应性 Grafana 变量,所有这些变量都在仪表板设置中定义?

问题描述

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

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

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

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

标签: grafanagrafana-variable

解决方案


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

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

PostgreSQL类型数据源的示例:

SELECT $a*$b

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


推荐阅读