如何用PostgreSQL与Grafana实现TRUNKS变量驱动的动态时序面板?
解决方案
直接使用以下PostgreSQL查询语句即可实现需求:
SELECT time AS "time", name AS "metric", used AS "value" FROM your_table_name WHERE name = any(string_to_array('${TRUNKS}', ',')) ORDER BY time
关键逻辑说明
string_to_array('${TRUNKS}', ','):将Grafana变量TRUNKS的取值(单个名称或逗号分隔的多个名称)转换为PostgreSQL数组类型= any(...):匹配数组中的任意元素,同时兼容单个值和多值场景- 字段别名:
time对应时序面板的时间轴,name作为序列标识(Grafana会自动按该字段分组生成多条曲线),used作为序列的数值
注意事项
- 替换语句中的
your_table_name为实际的表名 - 确保Grafana变量
TRUNKS的「全部」选项返回格式为monitoreado1,monitoreado2,monitoreado3(符合你当前的配置) - 在Grafana时序面板的数据源配置中,确认自动识别
time为时间字段、metric为序列字段即可
内容的提问来源于stack exchange,提问作者Mauricio Del Aguila
相关产品推荐
相关产品推荐

