如何在Grafana中展示服务器更新完成百分比(已更新服务器占比)
Grafana 展示服务器更新占比实现方案
假设你的哈希比对指标名为 folder_hash_match,实际使用时替换为你配置的真实指标名即可。
步骤1:编写对应PromQL查询
基础查询语句
- 已完成更新的服务器数量:
sum(folder_hash_match == 1) by (type, folder) - 总服务器数量:
count(folder_hash_match) by (type, folder) - 更新完成率(0~1范围,乘100可得百分比):
sum(folder_hash_match == 1) by (type, folder) / count(folder_hash_match) by (type, folder)
如果需要按instance/type/folder/server维度筛选,直接在指标名后加标签匹配规则即可,例如筛选类型为app、文件夹为/opt/service的查询:
sum(folder_hash_match{type="app", folder="/opt/service"} == 1)
步骤2:Grafana面板配置
展示 4/6 格式的更新进度:用Stat面板
- 新增Stat面板,添加2个查询:
- 查询A:已完成更新的服务器数量,查询命名为
已更新 - 查询B:总服务器数量,查询命名为
总服务器
- 查询A:已完成更新的服务器数量,查询命名为
- 进入「Value options」配置,计算规则选择Last(非空值)
- 进入「Text」配置,选择自定义模板,填入
${__series.A.last} / ${__series.B.last}即可直接展示4/6格式的进度,也可额外添加百分比字段展示完成率。
展示占比饼图:用Pie Chart面板
- 新增Pie Chart面板,添加2个查询:
- 查询1:已完成更新的服务器数量,命名为
已完成更新 - 查询2:未完成更新的服务器数量,对应查询为
sum(folder_hash_match == 0) by (type, folder),命名为未完成更新
- 查询1:已完成更新的服务器数量,命名为
- 进入「Legend」配置,开启显示数值,可选同时展示数量和占比,即可直观看到两类服务器的分布情况。
可选优化
你可以在Grafana中新增type、folder类型的下拉变量,关联指标的对应标签值,即可实现动态切换查看不同类型、不同文件夹的更新进度,无需手动修改查询语句。
内容的提问来源于stack exchange,提问作者Martin Parsons
相关产品推荐
相关产品推荐

