[英]Monitoring Kubernetes persistent volumes usage with Prometheus
我有一个使用vSphere作为持久存储提供程序的 K8s 1.7 集群。 我还部署了Prometheus 、 node_exporter和kube-state-metrics 。
我正在尝试找到一种使用Prometheus监视持久卷使用情况的方法。 我已经为一些 PV 添加了自定义标签,例如。 app=rabbitmq-0
等
如何将kube_persistentvolume_labels
与node_filesystem_size
指标结合kube_persistentvolume_labels
,以便我可以使用自定义标签查询 PV 使用情况?
附注。
我知道 K8s 1.8 直接从 kubelet 公开这些指标,如如何监控 kubernetes 持久卷的磁盘使用情况中所述? 但目前无法选择集群升级。
从kube-state-metrics中的 ( v1.3.0 -rc.0 / 2018-03-23) 开始,添加了两个可以相应地将PersistentVolume和PersistenVolumeClaims标签转换为 Prometheus 标签的指标:
kube_persistentvolume_labels
kube_persistentvolumeclaim_lables
要获取有关基于标签实现指标聚合的更多详细信息,请考虑阅读以下文章:
在某些情况下,主机路径无法挂载到 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
有关更多详细信息,请参阅此
免责声明:我是业主
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.