%20%E3%82%92%E7%9B%A3%E8%A6%96%E3%81%99%E3%82%8B.png)
各 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 でフェデレーションを使用することで実現できます。