Grafana变量模板正确但无法单独渲染各节点CPU温度时间序列
解决Grafana多选节点时合并时间序列的问题
你的核心问题是查询未返回节点标识字段,导致Grafana无法区分不同节点的温度数据,多选时只能合并成单条序列。按以下步骤修改即可实现单查询多节点独立时序:
1. 修改SQL查询语句
必须将ClusterNode作为标签字段返回,让Grafana识别不同节点的序列。同时优化变量格式处理多选和All场景:
SELECT UNIX_TIMESTAMP(TempTime) AS "time", ClusterNode AS "metric", -- 用该字段区分不同节点的时间序列 CTemp AS "value" FROM cputemperature.Temperatures WHERE $__timeFilter(TempTime) AND ( ${Nodes:sqlstring} = '' OR ClusterNode IN (${Nodes:sqlstring}) )
2. 调整变量Nodes的配置
- 确保变量查询(获取节点列表)为:
SELECT DISTINCT ClusterNode FROM cputemperature.Temperatures - 勾选「Include All option」,并将All选项的自定义值设置为空字符串(
'') - 变量格式选择「SQL string」(对应
${Nodes:sqlstring},会自动将多选节点转为'node1','node2'的合法格式)
3. 面板格式设置
在Grafana面板的查询选项中,将「Format as」设置为Time series,Grafana会自动根据metric字段(即节点名)拆分出独立的时间序列。
修改后效果:
- 选择单个节点:返回该节点的独立时序
- 多选节点:每个节点的温度数据以节点名为标签,生成独立的时间序列
- 选择All:返回所有节点的时序,自动按节点拆分
内容的提问来源于stack exchange,提问作者techguy993
相关产品推荐
相关产品推荐

