プラガブルなcollectorを使い、*NIXカーネルのハードウェアやOSのメトリクスを公開するPrometheus exporterです。
kubernetes/kube-state-metrics
Kubernetes API serverを監視し、Pod、Deployment、Nodeなどのオブジェクトの状態を表すPrometheusメトリクスを公開するアドオンサービスです。
- スター
- 6,228
- フォーク
- 2,199
- 未解決の Issue
- 117
- 最終コミット
- 5 日前
これは何?
kube-state-metrics(KSM)はKubernetes API serverを監視し、Deployment、Node、Podなどのオブジェクトの状態に関するメトリクスを生成します。Kubernetesコンポーネント自体の内部状態ではなく、クラスター内のオブジェクトの健全性に焦点を当てています。また、kubectlが表示時に用いるヒューリスティックを適用せず、APIから取得した生データを公開します。
メトリクスはHTTPの/metricsエンドポイントでプレーンテキストとして提供され、Prometheusまたは互換性のあるスクレイパーによる収集を想定しています。メトリクスはクラスターの現在の状態を反映するため、削除されたオブジェクトは出力から消えます。リソース使用量はクラスターの規模に応じて増加します。大規模環境やアクセス制限のある環境に向けて、シャーディング、リソースのフィルタリング、RBACによるアクセス制限のガイダンスも提供しています。
このプロジェクトはSIG Instrumentationのもとでメンテナンスされており、公式Helm chartはprometheus-communityのhelm-chartsリポジトリでメンテナンスされています。
主な機能
- 01Kubernetes APIオブジェクトから、加工せずにメトリクスを生成します。
- 02Prometheus形式のメトリクスをHTTPの/metricsエンドポイントで公開します。
- 03オブジェクトUIDによる水平シャーディングと、StatefulSetによる自動シャーディングに対応しています。
- 04resourcesおよびexclude_resourcesクエリパラメーターで、スクレイピング対象のリソースを絞り込めます。
- 05KubernetesのラベルをPrometheusラベルに変換し、名前の衝突はサフィックスで解決します。
- 06/healthz、/livez、/readyzのヘルスエンドポイントを提供します。
ユースケース
- Deploymentのレプリカ数、Podのフェーズ、Nodeの状態に関するPrometheusダッシュボードやアラートの作成。
- クラスター内で実行中のアプリケーションを変更せずに、ワークロードの健全性を監視。
- 単一クラスターのメトリクス量が多い場合に、複数のインスタンスにメトリクス収集を分散。
クイックスタート
- 1
registry.k8s.io からコンテナイメージを Pull します
- 2
README の Kubernetes Deployment または Helm Chart の手順に従って、クラスターにデプロイします
使う前に知っておきたいこと
- Kubernetes クラスター内でのみ実行でき、API サーバーへのアクセスが必要です。
- クラスター状態の完全なスナップショットをメモリに保持するため、一般的な目安として約 250MiB のメモリと 0.1 コアが必要です。
- デフォルトのイベントメトリクスにより、一部のクラウドプロバイダーでは取り込みコストが高くなる場合があります。
- custom-resource-state 機能は、resource-state-metrics を優先するため凍結されています。
収録されている特集
トピック
よくある質問
- kube-state-metrics とは?
- Kubernetes API serverを監視し、Pod、Deployment、Nodeなどのオブジェクトの状態を表すPrometheusメトリクスを公開するアドオンサービスです。 kube-state-metrics(KSM)はKubernetes API serverを監視し、Deployment、Node、Podなどのオブジェクトの状態に関するメトリクスを生成します。Kubernetesコンポーネント自体の内部状態ではなく、クラスター内のオブジェクトの健全性に焦点を当てています。また、kubectlが表示時に用いるヒューリスティックを適用せず、APIから取得した生データを公開します。
- kube-state-metrics は無料で使えますか?ライセンスは?
- kube-state-metrics は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- kube-state-metrics は今もメンテナンスされていますか?
- 活発にメンテナンス中。kube-state-metrics の最終コミットは 2026年10月19日 です。
- kube-state-metrics は何に使えますか?
- Deploymentのレプリカ数、Podのフェーズ、Nodeの状態に関するPrometheusダッシュボードやアラートの作成。 クラスター内で実行中のアプリケーションを変更せずに、ワークロードの健全性を監視。 単一クラスターのメトリクス量が多い場合に、複数のインスタンスにメトリクス収集を分散。
- kube-state-metrics のインストール方法は?
- registry.k8s.io からコンテナイメージを Pull します README の Kubernetes Deployment または Helm Chart の手順に従って、クラスターにデプロイします
- kube-state-metrics はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/kubernetes/kube-state-metrics
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Prometheusとの連携を念頭に設計された、メトリクス、ログ、トレース、プロファイルに対応する、式ベースでプログラム可能なパイプラインを備えたOpenTelemetry Collectorディストリビューション。
多様なデータソースのメトリクス、ログ、トレースをクエリ、可視化、アラート通知、探索できるオープンソースプラットフォーム。
Prometheusは、メトリクスを収集してルールを評価し、アラートを発報するオープンソースのシステム・サービス監視システムです。
Prometheusにグローバルなクエリビュー、オブジェクトストレージでの長期保存、高可用性を追加するコンポーネント群。
高速かつコスト効率に優れた時系列データベース兼監視ソリューション。長期保存先としても、Prometheusのドロップイン置き換えとしても利用できます。