如何在Grafana仪表板设置中定义基于其他变量的响应式计算变量
Grafana 内部变量动态计算实现方法
Grafana 原生的常量类型变量仅做字符串拼接替换,不会自动执行算术表达式计算,你可以使用Grafana内置的TestData DB数据源实现完全本地化的变量计算,不需要对接任何外部数据源:
操作步骤
- 第一步:添加内置TestData DB数据源
进入Connections-Data sources页面,搜索TestData DB,这是Grafana默认内置的测试数据源,不需要额外部署、不需要外部网络连接,直接点击添加后保存即可,无需任何额外配置。 - 第二步:创建计算类型变量
- 进入仪表板变量设置页,新建变量,类型选择Query
- 数据源选择刚添加的
TestData DB - 「Scenario」下拉选择
SQL Query - 查询输入框内直接写入你的计算表达式即可:
- 要实现
test = $input1 * 10就写SELECT $input1 * 10 - 要实现
c = $a * $b就写SELECT $a * $b
- 要实现
- 将「Refresh」选项设置为On variable change,这样当你修改依赖的输入变量时,计算变量会自动同步更新结果
- 按需求配置变量展示、多选等属性后保存即可
替代方案
如果你只需要在单个面板中使用计算结果,不需要将计算值定义为全局变量,可以直接在面板的查询、转换规则或者文本面板内容中直接写表达式${input1} * 10调用,不需要额外新建变量。
注意:需要确保你依赖的输入变量值为合法数值,否则会出现计算错误。
内容的提问来源于stack exchange,提问作者Carl Langaker
相关产品推荐
相关产品推荐

