このページはPrometheus公式ドキュメント和訳+αの一部です。
Alertmanager
Alertmanagerは、Prometheusサーバーのようなクライアントアプリケーションから送信されたアラートを処理する。 重複を排除したり、グルーピングしたり、emailやPageDuty、OpsGenieのようなレシーバー連携にアラートを送信する。 また、アラートを一時停止したり、抑制したりする。
以下、Alertmanagerが実装しているコアとなる概念を説明する。 これらの詳細な使い方は、設定ドキュメントを参照すること。
Grouping
グルーピングは、似た性質のアラートを1つの通知に分類する。 これは、多くのシステムが一度に失敗し、何百、何千のアラートが同時に起こる大規模障害において特に有益である。
例:ネットワークの分断が起きた時に、何十、何百のサービスのインスタンスがクラスタで稼働していたとする。 サービスインスタンスの半分がデータベースにアクセスできない。 Prometheusのアラーティングルールは、データベースに通信できない時にサービスインスタンスそれぞれに対して1つのアラートを送信するように設定されている。結果として、Alertmanagerに何百ものアラートがAlertmanagerに送信される。
ユーザーとしては、どのサービスインスタンスが影響を受けたか正確に把握しつつ、1つの呼び出しを受けるだけにしたい。 そのために、Alertmanagerがアラートをクラスタとアラート名でまとめ、1つの簡潔な通知を送信するように設定できる。
アラートのグループ化、グループ化された通知のタイミング、それらの通知のレシーバーは、設定ファイルのルーティングツリーで設定される。
Inhibition
inhibitionとは、他のアラートがすでに起きている場合に特定のアラートの通知を抑制する概念である。
例:クラスタ全体がアクセス不能になっていることを知らせるアラートが起きているとする。 Alertmanagerは、そのアラートが起きている場合にこのクラスタに関する他の全てのアラートをミュートするように設定できる。 これによって、本当の問題と無関係なアラートが何百、何千と起きたと通知するのを避けることができる。
inhibitionは、Alertmanagerの設定ファイルを通して設定される。
Silences
サイレンスは、指定された時間、単純にミュートする分かりやすい方法である。 サイレンスは、ルーティングツリーのように、マッチャーを元に設定される。 入ってきたアラートは、アクティブなサイレンスの全ての等値・正規表現マッチャーにマッチするか調べられる。 マッチした場合は、そのアラートに対して通知は送られない。
サイレンスは、AlertmanagerのWebインターフェースで設定される。
Client behavior
Alertmanagerは、クライアントの振る舞いに対して特別な要件を持っている。 それらの要件に関係があるのは、アラートを送信するのにPrometheusを使わない高度なユースケースだけである。
High Availability
Alertmanagerは、高可用なクラスタを構築するための設定をサポートしている。
これは、フラグ--cluster-*
を利用して設定することができる。
PrometheusとAlertmanagerの間をロードバランスせず、代わりにPrometheusを全てのAlertmanagerのリストに向けさせることが重要である。
参考リンク
おすすめ書籍

入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング
- 作者: Brian Brazil,須田一輝,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2019/05/18
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る

- 作者: Mike Julian,松浦隼人
- 出版社/メーカー: オライリージャパン
- 発売日: 2019/01/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
- 作者: 澤田武男,関根達夫,細川一茂,矢吹大輔,Betsy Beyer,Chris Jones,Jennifer Petoff,Niall Richard Murphy,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/08/12
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
和訳活動の支援
Prometheusドキュメント和訳が役に立った方は、以下QRコードからPayPayで活動を支援して頂けるとありがたいです。