Grafana如何通过选中的设备名称从自定义键值变量中获取对应IP
Grafana 键值对变量动态取值实现方案
前置配置检查
首先确认你的list变量配置符合要求:
- 变量类型为「Custom」,且开启「Key value pair」选项
- 键值分隔符设置为
:,多值分隔符设置为, - 变量值填写格式为
DEVICE 1 : 192.168.0.26,DEVICE 2 : 192.168.0.27,注意逗号后不要留多余空格,避免键名识别时带空格导致匹配失败
正确取值语法
Grafana 8.0及以上版本,使用嵌套变量作为键读取键值对变量的正确语法为:${list:${name}}
如果使用的是7.x及更早版本,可尝试兼容语法:${list["${name}"]}
如果name变量开启了多选功能,需要添加变量格式化参数,返回逗号分隔的多IP结果:${list:${name:csv}}
之前方案失效原因说明
- 「Repeat by variable」功能用于根据变量值批量生成多个相同面板,和变量取值匹配逻辑无关,无需开启
${list[name]}语法中name会被识别为固定键名,不会解析为对应变量,因此无法匹配动态选择的设备${list.${name}}点表示法不支持嵌套变量解析,无法读取动态键对应的值${list.name}为固定读取键为name的值,因此只会返回固定结果
验证方法
新建一个Text面板,内容填写当前选中设备IP:${list:${name}},切换name变量的选项,即可看到IP同步更新。
内容的提问来源于stack exchange,提问作者JCAguilera
相关产品推荐
相关产品推荐

