メインコンテンツまでスキップ

Monitoring Architecture

アーキテクチャの概要

ZCP は、Prometheus Agent を使用して複数のデータプレーンクラスターからメトリクスを収集し、コントロールプレーンクラスター内の Cortex に中央集約します。これは、Grafana を介してクラスター全体およびプロジェクト固有のワークロードを監視するための統合ダッシュボードを提供し、必要に応じてダッシュボードをカスタマイズする柔軟性を持っています。

システムは、各データプレーンクラスターに Prometheus を展開してメトリクスを収集し、次に remote_write API を使用してコントロールプレーンクラスターのCortexストアに送信します。

コントロールプレーンクラスター内では、Cortex Gateway がデータプレーンクラスターで実行されているPrometheusエージェントからメトリクスデータを受信するために展開されます。Cortexコンポーネントは、複数のクラスターにわたるメトリクスの保存と視覚化を処理します。さらに、Cortex Rule and Alertmanager コンポーネントは、収集されたメトリクスに基づいてアラームルールを有効にし、事前に定義された閾値を超えた場合にオペレーターに通知をトリガーします。

Prometheusエージェントの管理、マルチプロジェクトサポート、Grafanaの組織とダッシュボードの設定を担当する Monitoring Backend Component もコントロールプレーンクラスター内にあります。

コンポーネントと役割

コントロールプレーンコンポーネント

ComponentRoles
Grafana- 収集されたメトリクスを視覚化します
モニタリングバックエンド- Grafanaの組織、データソース、ダッシュボードを管理します
- データプレーンクラスターにPrometheusを展開します
Cortexゲートウェイ- マルチテナント認証を処理します
- Cortexコンポーネントへのリクエストをルーティングします
ディストリビューター- 受信メトリクスを検証します
- 高可用性(HA)を追跡します
- 負荷分散を行います
インジェスター- メトリクスを長期保存します
クエリア- PromQLクエリを実行します
クエリフロントエンド(オプション)- 読み取り性能を向上させます
- キューイング、分割、キャッシングを処理します
ルーラー(オプション)- アラートと記録ルールのためにPromQLクエリを実行します
アラートマネージャー(オプション)- アラートのためのマルチテナントサポートを追加します
設定(オプション)- ルーラーとアラートマネージャーの設定を保存します
コンパクター- 複数のブロックを単一の最適化されたブロックにマージします
- ストレージコストを削減します
- クエリを高速化します
ストアゲートウェイ- ブロックのシャーディングとレプリケーションを処理します
- クエリ結果をキャッシュします
インデックスキャッシュ- ルックアップ性能を向上させます
チャンクキャッシュ- 取得したデータチャンクを保存し、より迅速なアクセスを提供します
メタデータキャッシュ- テナントリストやブロックマッピングなどのメタデータをキャッシュします

データプレーンコンポーネント

ComponentRoles
Prometheus- 時系列データベースとして機能します
- メトリクスを収集し保存します
- アラートをトリガーします
Prometheusノードエクスポーター- ノードレベルのシステムメトリクスを収集します
Kube State Metrics- Kubernetes API関連のメトリクスを収集します