使用Prometheus监控Kubernetes的持久卷使用情况



我有一个K8s 1.7集群,使用vSphere作为持久存储提供商。我还部署了Prometheusnode_exporterkube状态度量

我正在尝试使用Prometheus来监控持久卷的使用情况。我已经为一些PV添加了自定义标签,例如app=rabbitmq-0

如何将kube_persistentvolume_labelsnode_filesystem_size指标结合起来,以便使用自定义标签查询PV使用情况?

PS
我知道K8S1.8直接从kubelet公开了这些指标,如How to monitor disk usage of kubernetes persistent volumes?但目前集群升级不是一种选择。

kube状态度量中的(v1.3.0-rc.0/2018-03-23(开始,添加了两个可以相应地将PersistentVolume和PersistenVolumeClaims标签转换为Prometheus标签的度量:

kube_persistentvolume_labels
kube_persistentvolumeclaim_lables

要获得有关实现基于标签的度量聚合的更多详细信息,请考虑阅读以下文章:

  • 使用Prometheus聚合任意标签的Pod资源(CPU、内存(使用情况
  • 向普罗米修斯展示软件版本

在某些情况下,主机路径无法装载到pod,或者项目(命名空间(无法访问节点。在这种情况下,无法部署节点导出器,在这种情况中,volume_exporter会很有用。

你可以将其添加为侧车

- name: volume-exporter
image:  mnadeem/volume_exporter
imagePullPolicy: "Always"
args:
- --volume-dir=prometheus:/prometheus
ports:
- name: metrics-volume
containerPort: 9888
volumeMounts:
- mountPath: /prometheus
name: prometheus-data
readOnly: true

它将生成度量

# HELP volume_bytes_free Free size of the volume/disk
# TYPE volume_bytes_free gauge
volume_bytes_free{volume_name="bin",volume_path="/bin"} 4.341569536e+10
volume_bytes_free{volume_name="etc",volume_path="/etc"} 4.341569536e+10
# HELP volume_bytes_total Total size of the volume/disk
# TYPE volume_bytes_total gauge
volume_bytes_total{volume_name="bin",volume_path="/bin"} 6.391887872e+10
volume_bytes_total{volume_name="etc",volume_path="/etc"} 6.391887872e+10
# HELP volume_bytes_used Used size of volume/disk
# TYPE volume_bytes_used gauge
volume_bytes_used{volume_name="bin",volume_path="/bin"} 2.050318336e+10
volume_bytes_used{volume_name="etc",volume_path="/etc"} 2.050318336e+10
# HELP volume_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, and goversion from which volume_exporter was built.
# TYPE volume_exporter_build_info gauge
volume_exporter_build_info{branch="",goversion="go1.15",revision="",version=""} 1
# HELP volume_percentage_used Percentage of volume/disk Utilization
# TYPE volume_percentage_used gauge
volume_percentage_used{volume_name="bin",volume_path="/bin"} 32.07688208958619
volume_percentage_used{volume_name="etc",volume_path="/etc"} 32.07688208958619

有关的更多详细信息,请参阅此

免责声明:我是的所有者

最新更新