如何创建基于其他变量的反应式 Grafana 变量,所有这些变量都在仪表板设置中定义?
How do I create reactive Grafana variables that are based on other variables, all of which are defined in the dashboard settings?
我正在尝试在 Grafana 中制作一个仪表板,其中所有变量都在仪表板设置中定义。其中大部分是常量,尽管我在仪表板中有三个输入变量,它们会反应性地改变其他几个变量。我的问题是我无法定义将根据输入值的值反应性变化的新变量。
例如,假设我定义了一个设置为 10 的输入变量“input1”。我想创建一个新变量“test”= $input1 * 10。当我尝试这样做时,我得到了test = "$input1 * 10" 而不是 test = 100.
即使我使用任意两个常量,例如。 “a”= 10 和“b”= 2,如果我尝试创建一个新变量“c”= $a*$b,我得到的是 c =“$a*$b”而不是 c = 20。
有没有办法在定义变量时进行这样的计算?我没有从任何外部数据源查询或提取数据 - 所有变量都在仪表板设置中定义。
Grafana 无法评估变量的计算。但是你可以在使用过的数据源中做到这一点。
将变量切换为 Query
类型并编写查询,这将由选定的数据源执行,并将 return 计算值。
PostgreSQL
类型数据源的示例:
SELECT $a*$b
当然不是所有的数据源类型都能进行这种计算。 SQL 数据源通常可以做到这一点。
我正在尝试在 Grafana 中制作一个仪表板,其中所有变量都在仪表板设置中定义。其中大部分是常量,尽管我在仪表板中有三个输入变量,它们会反应性地改变其他几个变量。我的问题是我无法定义将根据输入值的值反应性变化的新变量。
例如,假设我定义了一个设置为 10 的输入变量“input1”。我想创建一个新变量“test”= $input1 * 10。当我尝试这样做时,我得到了test = "$input1 * 10" 而不是 test = 100.
即使我使用任意两个常量,例如。 “a”= 10 和“b”= 2,如果我尝试创建一个新变量“c”= $a*$b,我得到的是 c =“$a*$b”而不是 c = 20。
有没有办法在定义变量时进行这样的计算?我没有从任何外部数据源查询或提取数据 - 所有变量都在仪表板设置中定义。
Grafana 无法评估变量的计算。但是你可以在使用过的数据源中做到这一点。
将变量切换为 Query
类型并编写查询,这将由选定的数据源执行,并将 return 计算值。
PostgreSQL
类型数据源的示例:
SELECT $a*$b
当然不是所有的数据源类型都能进行这种计算。 SQL 数据源通常可以做到这一点。