簡體   English   中英

使用 Prometheus 監控 Kubernetes 持久卷的使用情況

[英]Monitoring Kubernetes persistent volumes usage with Prometheus

我有一個使用vSphere作為持久存儲提供程序的 K8s 1.7 集群。 我還部署了Prometheusnode_exporterkube-state-metrics

我正在嘗試找到一種使用Prometheus監視持久卷使用情況的方法。 我已經為一些 PV 添加了自定義標簽,例如。 app=rabbitmq-0

如何將kube_persistentvolume_labelsnode_filesystem_size指標結合kube_persistentvolume_labels ,以便我可以使用自定義標簽查詢 PV 使用情況?

附注。
我知道 K8s 1.8 直接從 kubelet 公開這些指標,如如何監控 kubernetes 持久卷的磁盤使用情況中所述? 但目前無法選擇集群升級。

kube-state-metrics中的 ( v1.3.0 -rc.0 / 2018-03-23) 開始,添加了兩個可以相應地將PersistentVolumePersistenVolumeClaims標簽轉換為 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM