Grafana仪表盘内存利用率展示问题:匹配Ubuntu系统监视器数值
解决Grafana内存仪表盘与Ubuntu系统监视器数值匹配及显示问题
1. 确认内存查询语句(和系统监视器数值对齐)
Ubuntu系统监视器的“已用内存”是扣除空闲、缓冲、缓存及可回收slab后的实际应用占用内存,对应的PromQL查询:
- 总内存:
node_memory_MemTotal_bytes - 已用内存(与系统监视器完全一致):
node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes - node_memory_SReclaimable_bytes
2. 配置Gauge环形仪表盘(实现红色厚仪表盘效果)
步骤:
- 新建
Gauge类型面板,在Metrics标签页同时添加上述两个查询(已用内存、总内存)。 - 切换到Visualization标签页:
- 样式选择
Arc(对应你需要的环形厚仪表盘)。 - 处理字段单位:
- 选中已用内存的查询字段,设置
Unit为bytes,再选择IEC binary (GiB),确保数值显示为GiB单位,和系统监视器一致。 - 总内存字段同样设置单位为
bytes->IEC binary (GiB)。
- 选中已用内存的查询字段,设置
- 关联最大值:
- 选中已用内存字段,展开Standard options,将
Max设置为Calculated,并选择总内存的查询结果作为最大值(确保仪表盘范围是0到总内存)。
- 选中已用内存字段,展开Standard options,将
- 阈值设置(可选):
- 在Thresholds中添加阈值(如总内存的70%、90%),对应设置颜色(如黄色、红色),模拟系统监视器的告警逻辑。
- 样式选择
3. 解决Apply to options的显示差异问题
- 当选择
Apply to options: Memory Usage时:确保已将总内存设为该字段的最大值,此时仪表盘会以已用内存为当前值、总内存为上限,正常显示环形进度。 - 当选择
Apply to options: Total Memory时:需将已用内存字段设为仪表盘的“当前值”来源,总内存作为上限,否则会错误地以总内存为当前值,导致仪表盘满格或显示异常。
关键注意点
- 保持关闭字段转换,避免Grafana自动修改数值计算逻辑,确保原始查询数值和系统监视器一致。
- 检查两个查询的标签匹配(如
instance标签),确保总内存和已用内存对应同一台Ubuntu主机。
内容的提问来源于stack exchange,提问作者MsA
相关产品推荐
相关产品推荐

