grafana - 如何创建基于其他变量的反应性 Grafana 变量,所有这些变量都在仪表板设置中定义?
问题描述
我正在尝试在 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
类型并写入查询,这将由选定的数据源执行并返回计算值。
PostgreSQL
类型数据源的示例:
SELECT $a*$b
当然,并非所有数据源类型都可以执行这种计算。SQL 数据源通常可以做到这一点。
推荐阅读
- angular - 试图在 http 拦截器中捕获 401,刷新我的会话并重试原始请求
- postgresql - 如何在 JOOQ 中为 PostgreSQL 编写正确的布尔比较
- pandas - 单击构建的 exe 时,Pyinstaller 返回致命错误
- java - 将对象作为参数而不是单独的变量传递给函数是一种好习惯吗?
- python - 使用正则表达式的 Amazon S3 查询
- android - Android Xml命令含义?
- laravel - 以 Zend Autoloader 方式加载 Laravel 的提供程序
- java - 对象...对象[] 和格式
- javascript - Javascript模板最初或动态加载
- networking - SSL Pinning 后如何以及在何处检测和解析域名