在Grafana中监控Pod内特定文件系统的磁盘使用率百分比
监控Pod内特定文件系统磁盘使用率的Prometheus查询
要实现这个需求,你可以基于Prometheus采集的容器文件系统指标构建查询,前提是你的Prometheus已经配置采集kubelet或cadvisor提供的容器相关指标。
基础查询语句
直接计算特定Pod内目标文件系统的使用率百分比:
100 * (container_filesystem_usage_bytes{pod="你的Pod名称", namespace="你的命名空间", mountpoint="/目标挂载路径"} / container_filesystem_size_bytes{pod="你的Pod名称", namespace="你的命名空间", mountpoint="/目标挂载路径"})
标签说明
pod:指定要监控的Pod名称,必填以缩小监控范围namespace:Pod所在的命名空间,避免同名称Pod的干扰mountpoint:目标文件系统在容器内的挂载路径,比如/data或/var/log,可以通过kubectl exec <你的Pod名称> -- df -h在容器内确认正确路径
批量匹配场景
如果需要监控同命名空间下所有挂载了目标路径的Pod,可以用标签关联简化查询:
100 * (container_filesystem_usage_bytes{namespace="你的命名空间", mountpoint="/目标挂载路径"} / on(namespace, pod, mountpoint) container_filesystem_size_bytes{namespace="你的命名空间", mountpoint="/目标挂载路径"})
这里on(namespace, pod, mountpoint)用来确保两个指标按对应标签关联,避免计算错位。
注意事项
- 如果查询时出现指标缺失导致的报错,可以在指标后加
or vector(0)临时处理,但更建议先排查指标采集是否正常 - 不要用节点级的
node_filesystem_*指标,这类指标是节点全局的,无法精准定位到单个Pod内的文件系统 - 若使用了存储类或自定义卷,务必确认mountpoint路径和容器内实际挂载一致
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

