独立して実行される Prometheus サーバーを使用して Azure Kubernetes Service (AKS) を監視する

独立して実行される Prometheus サーバーを使用して Azure Kubernetes Service (AKS) を監視する

各 Azure Kubernetes Service (AKS) に Prometheus をデプロイし、AKS 外部の仮想マシンで作成された Prometheus から各 Prometheus を監視することはできますか? つまり、中央の Prometheus を各クラスター内のすべての Prometheus に接続したいのです。

関連度の高い参考文献を教えて頂けると幸いです。 考えている構成は以下の通りです。

ここに画像の説明を入力してください

答え1

Prometheus サーバーのフェデレーションを探しているようです。公式ドキュメントここ

基本的には、パスから中間インスタンスからデータを取得するように中央の Prometheus インスタンスを構成する必要があります/federate

あなたのケースの簡単な構成例は次のようになります:

scrape_configs:
  - job_name: 'federate'
    scrape_interval: 15s

    honor_labels: true
    metrics_path: '/federate'

    params:
      'match[]':
        - '{__name__=~".+"}'

    static_configs:
      - targets:
        - 'cluster-1-address:9090'
        - 'cluster-2-address:9090'
        - 'cluster-3-address:9090'

フェデレーションではタイムスタンプが保存されないことに注意してください。その結果、中央サーバーと中間サーバーの間でデータに小さな不一致が発生する可能性があります。

scrape_interval中間インスタンスに応じて必ず設定してくださいscrape_interval。中央サーバーの間隔が狭い場合、データ ポイントが増加し、使用されるストレージ スペースが増加します。中央サーバーの間隔が広い場合、一部のデータ ポイントが失われます。

答え2

はい、各 Azure Kubernetes Service (AKS) に Prometheus をデプロイし、AKS 外部の仮想マシンによって作成された Prometheus から各 Prometheus を監視することは可能です。これは、Prometheus でフェデレーションを使用することで実現できます。

関連情報