如何监控kubernetes持久卷的磁盘使用情况?

hir*_*shi 9 kubernetes prometheus

我有container_fs_usage_bytesprometheus监视容器根fs,但似乎cAdvisor中没有其他卷的指标.

hir*_*shi 19

我确认Kubernetes 1.8公开了普罗米修斯的指标.

  • 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

  • 从1.12开始,它们似乎不再暴露 (10认同)
  • @AndrewSavinykh 有任何新的卷使用指标吗? (4认同)
  • @Raman你的建议很有用。谢谢 (2认同)

val*_*ala 7

必须使用以下指标来监控 Kubernetes 中的持久卷统计信息(PVC 名称在persistentvolumeclaim标签中导出):

  • kubelet_volume_stats_capacity_bytes- 每个 PVC 的容量(以字节为单位)。
  • kubelet_volume_stats_used_bytes- 每个 PVC 的空间使用量(以字节为单位)。
  • kubelet_volume_stats_available_bytes- 每个 PVC 的可用空间(以字节为单位)。

以下PromQL查询可用于确定每个 Pod PVC 磁盘空间使用情况(以字节为单位):

sum(kubelet_volume_stats_used_bytes) by (namespace,persistentvolumeclaim)
  * on(namespace,persistentvolumeclaim) group_left(pod)
kube_pod_spec_volumes_persistentvolumeclaims_info
Run Code Online (Sandbox Code Playgroud)

以下查询可用于确定每个 pod 的可用 PVC 磁盘空间(以字节为单位):

sum(kubelet_volume_stats_available_bytes) by (namespace,persistentvolumeclaim)
  * on(namespace,persistentvolumeclaim) group_left(pod)
kube_pod_spec_volumes_persistentvolumeclaims_info
Run Code Online (Sandbox Code Playgroud)

  • 太感谢了!我只想提一下,“kubelet_”指标是由 kubelet ^^ 导出的,“kube_pod_”指标是由 kube-state-metrics 导出的。如果使用 kube-prometheus-stack helm Chart,则可以轻松启用这两个组件。 (2认同)

小智 5

卷的指标可通过 kubelet 摘要 API (/stats/summary) 获得。但是,每个卷插件都必须实现自己的指标。从 Kubernetes 1.7 开始,当前已实现指标的卷插件包括:emptydir、secrets、gce pd、aws ebs、azure file、flocker 和 portworx