Alertmanager

Alertmanagerは、Prometheusサーバーなどのクライアントアプリケーションから送信されたアラートを処理します。重複排除、グループ化、および電子メール、PagerDuty、OpsGenieなどの正しいレシーバー統合へのルーティングを担当します。また、アラートのサイレンスと抑制も担当します。

以下に、Alertmanagerが実装する主要な概念を説明します。設定ドキュメントを参照して、詳細な使用方法を学習してください。

グループ化

グループ化は、同様の性質のアラートを単一の通知に分類します。これは、多くのシステムが一度にダウンし、何百から何千ものアラートが同時に発生する大規模な停止時に特に役立ちます。

例:ネットワークパーティションが発生すると、クラスター内で数十から数百のサービスインスタンスが実行されます。サービスインスタンスの半分がデータベースに到達できなくなります。Prometheusのアラートルールは、各サービスインスタンスがデータベースと通信できない場合にアラートを送信するように設定されています。結果として、数百のアラートがAlertmanagerに送信されます。

ユーザーとしては、影響を受けたサービスインスタンスを正確に確認できる一方で、単一のページを受け取りたいだけです。したがって、Alertmanagerを構成して、アラートをクラスターとアラート名でグループ化し、単一のコンパクトな通知を送信するようにできます。

アラートのグループ化、グループ化された通知のタイミング、およびそれらの通知の受信者は、設定ファイルのルーティングツリーによって設定されます。

抑制

抑制とは、特定の他のアラートが既に発生している場合に、特定の種類のアラートの通知を抑制する概念です。

例:クラスター全体に到達できないことを通知するアラートが発生しています。Alertmanagerは、その特定のアラートが発生している場合、このクラスターに関する他のすべてのアラートをミュートするように構成できます。これにより、実際の問題とは無関係な数百または数千のアラートが発生する通知を防ぐことができます。

抑制はAlertmanagerの設定ファイルを通じて設定されます。

サイレンス

サイレンスは、指定された期間アラートを単純にミュートする簡単な方法です。サイレンスは、ルーティングツリーと同様に、マッチャーに基づいて設定されます。受信アラートは、アクティブなサイレンスのすべての一致または正規表現マッチャーと一致するかどうかがチェックされます。一致する場合、そのアラートの通知は送信されません。

サイレンスはAlertmanagerのWebインターフェースで設定されます。

クライアントの動作

Alertmanagerには、クライアントの動作に関する特別な要件があります。これらは、Prometheusがアラートの送信に使用されない高度なユースケースにのみ関連します。

高可用性

Alertmanagerは、高可用性クラスタを作成するための設定をサポートしています。これは、--cluster-*フラグを使用して設定できます。

PrometheusとAlertmanagerの間でトラフィックをロードバランスするのではなく、PrometheusをすべてのAlertmanagerのリストに指定することが重要です。

このページの内容