如何监控 kubernetes 持久卷的磁盘使用情况?
How to monitor disk usage of kubernetes persistent volumes?
我有 container_fs_usage_bytes
和 prometheus 来监控容器根 fs,但 cAdvisor 中似乎没有其他卷的指标。
卷指标可通过 kubelet 摘要 API (/stats/summary) 获得。但是,每个卷插件都必须实现自己的指标。从Kubernetes 1.7开始,目前实现了metrics的volume plugins包括:emptydir、secrets、gce pd、aws ebs、azure file、flocker、portworx
我确认 Kubernetes 1.8 公开了 prometheus 的指标。
kubelet_volume_stats_available_bytes
kubelet_volume_stats_capacity_bytes
kubelet_volume_stats_inodes
kubelet_volume_stats_inodes_free
kubelet_volume_stats_inodes_used
kubelet_volume_stats_used_bytes
必须使用以下指标来监控 Kubernetes 中的持久卷统计信息(PVC 名称在 persistentvolumeclaim
标签中导出):
kubelet_volume_stats_capacity_bytes
- per-PVC 字节容量。
kubelet_volume_stats_used_bytes
- per-PVC space 字节使用量。
kubelet_volume_stats_available_bytes
- per-PVC 免费 space 字节。
以下 PromQL 查询可用于确定 per-pod PVC 磁盘 space 使用字节数:
sum(kubelet_volume_stats_used_bytes) by (namespace,persistentvolumeclaim)
* on(namespace,persistentvolumeclaim) group_left(pod)
kube_pod_spec_volumes_persistentvolumeclaims_info
以下查询可用于确定每个 pod 的可用 PVC 磁盘 space(以字节为单位):
sum(kubelet_volume_stats_available_bytes) by (namespace,persistentvolumeclaim)
* on(namespace,persistentvolumeclaim) group_left(pod)
kube_pod_spec_volumes_persistentvolumeclaims_info
我有 container_fs_usage_bytes
和 prometheus 来监控容器根 fs,但 cAdvisor 中似乎没有其他卷的指标。
卷指标可通过 kubelet 摘要 API (/stats/summary) 获得。但是,每个卷插件都必须实现自己的指标。从Kubernetes 1.7开始,目前实现了metrics的volume plugins包括:emptydir、secrets、gce pd、aws ebs、azure file、flocker、portworx
我确认 Kubernetes 1.8 公开了 prometheus 的指标。
kubelet_volume_stats_available_bytes
kubelet_volume_stats_capacity_bytes
kubelet_volume_stats_inodes
kubelet_volume_stats_inodes_free
kubelet_volume_stats_inodes_used
kubelet_volume_stats_used_bytes
必须使用以下指标来监控 Kubernetes 中的持久卷统计信息(PVC 名称在 persistentvolumeclaim
标签中导出):
kubelet_volume_stats_capacity_bytes
- per-PVC 字节容量。kubelet_volume_stats_used_bytes
- per-PVC space 字节使用量。kubelet_volume_stats_available_bytes
- per-PVC 免费 space 字节。
以下 PromQL 查询可用于确定 per-pod PVC 磁盘 space 使用字节数:
sum(kubelet_volume_stats_used_bytes) by (namespace,persistentvolumeclaim)
* on(namespace,persistentvolumeclaim) group_left(pod)
kube_pod_spec_volumes_persistentvolumeclaims_info
以下查询可用于确定每个 pod 的可用 PVC 磁盘 space(以字节为单位):
sum(kubelet_volume_stats_available_bytes) by (namespace,persistentvolumeclaim)
* on(namespace,persistentvolumeclaim) group_left(pod)
kube_pod_spec_volumes_persistentvolumeclaims_info