0

ここに画像の説明を入力

私たちが構築しているシステムでは、Prometheus を使用して k8s クラスターで実行されるコンポーネント (Kafka Connect、Spark など) を監視する必要があります。k8s クラスターは別のネットワークで実行されるため、Prometheus サーバーはこれらのコンポーネントを直接スクレイピングできません。このために、k8s クラスターで PushGateWay を実行します。

私は次のデザインを思いつきます:

  1. カスタム ビルドされた「プッシュ プロキシ」コンポーネントは、「kube-api-service」を読み取り、監視する各コンポーネントのポッドのリストを取得します (また、定期的にポッドの状態をチェックし、新しいポッドをチェックします..など)
  2. 「プッシュ プロキシ」は、定期的に各ポッドのエクスポーターを破棄します。(各ポッドの /metrics エンドポイントを呼び出します)。これらのスクレイピングされた行列をバッファーに格納します。
  3. 「プッシュ プロキシ」は、バッファリングされたマトリックスを定期的に PushGateWay にプッシュします。
  4. この PushGateWay は、Prometheus からアクセスできます。Prometheus は、PushGW から定期的にマトリックスをスクレイピングします。

質問は次のとおりです。

  1. 構築を計画している「プッシュ プロキシ」のようなコンポーネントはありますか?
  2. これは、この問題を処理する有効な設計ですか。
4

0 に答える 0