
現在、kube-prometheus-stack を使用して複数の Kubernetes クラスターを監視しています。各クラスターには独自の kube-prometheus-stack のデプロイメントがありますが、現在 alertmanager が有効になっているクラスターは 1 つ (a) だけです。クラスター (a) は、他のすべてのクラスターの /federate エンドポイントもスクレイピングして、いくつかのヘルス メトリックを取得し、それに基づいてアラートを生成します。
クラスター (a) が停止した場合に単一障害点を排除するために、アラートを有効にしてクラスター (a) とともに高可用性モードで実行する 2 番目のクラスター (b) を用意します。
それを達成するための最良の方法は何でしょうか?
プロメテウスについて:
(a) と (b) の両方の Prometheus を、識別用のラベルを除いてまったく同じ構成にします。これらには同じデータが含まれ、(a) と (b) のアラート マネージャーに同じアラートが発行される必要があります。
Alertmanagersについて:
(a) と (b) のアラートマネージャが相互に通信してアラートの重複を排除します。これは、次のように設定することで実現できます。
alertmanagerSpec:
additionalPeers: []
Grafanaについて:
このような展開でGrafanaの高可用性を実現することは可能でしょうか?ここ両方のインスタンスで同じデータベースを使用できるようにすることで、HA 用に Grafana を設定できますが、私の設定でそれをどのように行うのでしょうか?
誰かがこのアイデアについてフィードバックを提供してくれると嬉しいです...