18

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

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

  • kube_persistentvolumeclaim_resource_requests_storage_bytesは利用可能ですが、永続的な要求要求のみがバイト単位で表示されます

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

4

3 に答える 3

5

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

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

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

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

お役に立てば幸いです。

于 2019-06-18T09:06:55.223 に答える