如何在Prometheus中关联双指标查询K8s PVC剩余空间
Kubernetes PVC剩余空间动态仪表盘配置
一、编写PromQL计算剩余空间
利用现有指标的pvc标签自动关联对应PVC的数据,通过总容量与已用空间的差值计算剩余空间:
- 剩余空间(转换为GB):
(px_volume_fs_capacity_bytes - px_volume_fs_used_bytes) / 1024 / 1024 / 1024
- 若需同时展示总容量、已用空间,分别编写以下查询:
- 总容量(GB):
px_volume_fs_capacity_bytes / 1024 / 1024 / 1024
- 已用空间(GB):
px_volume_fs_used_bytes / 1024 / 1024 / 1024
二、创建Grafana动态表格面板
- 新建仪表盘,添加
Table类型面板,数据源选择你的Prometheus实例。 - 在
Query标签页,依次添加上述三个查询,分别设置别名:剩余空间(GB)、总容量(GB)、已用空间(GB);将每个查询的Legend format设为{{pvc}},确保数据按PVC标签关联。 - 切换到
Transform标签页,添加Join by field转换,选择pvc作为关联字段,将三个查询的结果合并为同一行,每个PVC对应一行数据。 - 可选:添加
Add field from calculation转换,计算剩余空间占比:- 选择
Binary operation,第一个字段选剩余空间(GB),第二个选总容量(GB),运算类型选Divide,结果乘以100,字段命名为剩余空间占比(%)。
- 选择
- 在
Panel options中配置表格显示:- 调整列的显示顺序,隐藏无关字段(如
Time或Metric); - 为各列设置格式:剩余/总/已用空间设为
Number,单位选GB;占比设为Percent; - 设置排序规则,比如默认按
剩余空间(GB)降序排列。
- 调整列的显示顺序,隐藏无关字段(如
三、优化告警与高亮(可选)
在Field标签页,为剩余空间占比(%)添加阈值:
- 当占比低于10%时,设置单元格背景为红色;
- 介于10%-20%时,设置为黄色,快速识别空间不足的PVC。
内容的提问来源于stack exchange,提问作者Edward S.
相关产品推荐
相关产品推荐

