集群节点可用性PromQL查询与Grafana状态地图配置咨询
集群节点在线状态查询与Grafana状态地图实现方案
一、PromQL查询编写
要基于过去1小时的up指标判断node1-node10的在线状态,确保所有节点都输出1(在线)或0(离线),可以用以下查询:
last_over_time(up{instance=~"node[1-9]|node10"}[1h]) or on(instance) vector(0)
逻辑说明
last_over_time(up{instance=~"node[1-9]|node10"}[1h]):提取过去1小时内每个节点最后一次上报的up值,在线节点会返回1,离线节点因无数据不会输出结果。or on(instance) vector(0):对无结果的节点(过去1小时未上报)补0值,保证node1到node10都有状态输出。
二、Grafana状态地图配置
1. 创建状态地图面板
进入目标仪表盘,点击「Add panel」,选择「State Map」面板类型。
2. 配置查询
在「Query」标签页选择你的Prometheus数据源,填入上面的PromQL语句。
3. 设置状态颜色映射
切换到「Options」标签页,找到「State mappings」:
- 添加规则:值
1,标签设为「在线」,颜色选绿色(比如#2ecc71) - 添加规则:值
0,标签设为「离线」,颜色选红色(比如#e74c3c)
4. 调整显示设置
- 在「Panel options」里,设置方块的尺寸、间距,开启「Show labels」显示节点名称(instance字段)
- 确认「Group by」选择
instance,确保每个节点对应独立方块
5. 保存配置
点击面板右上角「Apply」,再保存仪表盘即可看到绿/红方块展示的节点状态。
内容的提问来源于stack exchange,提问作者Proximm
相关产品推荐
相关产品推荐

