web-dev-qa-db-ja.com

永続ボリュームのディスク使用量を監視するにはどうすればよいですか?

クラスター内の永続ボリュームのディスク使用量を監視したい。私は CoreOS Kube Prometheus を使用しています。ダッシュボードは、kubelet_volume_stats_capacity_bytesというメトリックでクエリを実行しようとしていますが、v1.12以降のKubernetesバージョンでは使用できません。

Kubernetesバージョンv1.13.4と hostpath-provisioner を使用して、永続的なボリュームの要求に基づいてボリュームをプロビジョニングしています。各永続ボリュームの現在のディスク使用状況メトリックにアクセスしたい。

  • kube_persistentvolumeclaim_resource_requests_storage_bytesは使用できますが、永続的な要求リクエストのみがバイト単位で表示されます

  • container_fs_usage_bytesは私の問題を完全にはカバーしていません。

7
Cemal Unal

はい。最新バージョンのKubernetesでは、kubelet_volume_stats_capacity_bytesなどの指標を監視できませんが、いくつかの回避策があります。残念ながら、これは今日のKubernetesでは少し断片化されています。ボリュームプロバイダーによっては、PVCに容量と使用状況のメトリックが含まれる場合があり、CSIベースのボリュームにはこれらがまったくないようです。これはベストエフォートベースで行うことができますが、これらのメトリックスが利用できない場合は簡単にすぐにヒットします。

最初に、container_fs_usage_bytesのようなメトリックの値が収集されるたびに独自のスクリプトを作成するだけで、測定前の容量とコンテナの使用量の違いがカウントされますバイト(メトリックはcontainer_fs_usage_bytesが役立ちます)。

Prometheusは非常に人気のあるソリューションですが、容量、特にディスク使用量を監視するにはHeapsterを使用できますが、今は「引退」しようとしていますが、この特別な場合にのみ使用できますが、スクリプトも実装する必要があります。リポジトリを見てみましょう: heapster-memory

"res.Containers = append(res.Containers、metrics.ContainerMetrics {Name:c.Name、Usage:usage})"

お役に立てば幸いです。

1
MaggieO

私のプロム構成には次のような仕事があります:

  - job_name: 'kubernetes-nodes'

    kubernetes_sd_configs:
    - role: node

    scheme: https
    tls_config:
      ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token

    relabel_configs:
    - action: labelmap
      regex: __meta_kubernetes_node_label_(.+)
    - target_label: __address__
      replacement: kubernetes.default.svc:443
    - source_labels: [__meta_kubernetes_node_name]
      regex: (.+)
      target_label: __metrics_path__
      replacement: /api/v1/nodes/${1}/proxy/metrics

このジョブを実行すると、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

詳細: https://github.com/google/cadvisor/issues/1702

0
Collin Cudd