Alertmanager設定 - Prometheusドキュメント

このページはPrometheus公式ドキュメント和訳+αの一部です。

CONFIGURATION

Alertmanagerは、コマンドラインフラグと設定ファイルを通して設定される。 コマンドラインフラグは、不変のシステムパラメーターを設定し、設定ファイルは、inhibitionルール、通知ルーティング、通知レシーバーを定義する。

visual editorが、ルーティングツリーの構築の補助となる。

利用可能な全てのコマンドラインフラグを見るには、alertmanager -hを実行する。

Alertmanagerは、実行時に設定を読み込み直すことが出来る。 もし、新しい設定が正しい形式でなければ、変更は適用されず、エラーがログされる。 設定を読み込み直させるには、AlertmanagerプロセスにSIGHUPを送るか、エンドポイント/-/reloadにHTTP POSTリクエストを送る。

設定ファイル

どの設定ファイルを読み込むか指定するには、フラグ--config.fileを使う。

./alertmanager --config.file=simple.yml

設定ファイルは、以下に記すスキームで定義されたYAML形式で書かれる。 ブラケットは、パラメーターがオプションであることを表す。 リストでないパラメーターは、指定されたデフォルト値にセットされる。

一般的なプレースホルダーは以下の通り。

  • <duration>: 正規表現[0-9]+(ms|[smhdwy])にマッチする時間幅
  • <labelname>: 正規表現[a-zA-Z_][a-zA-Z0-9_]*にマッチする文字列
  • <labelvalue>: Unicodeの文字列
  • <filepath>: カレントワーキングディレクトリのパス
  • <boolean>: 値としてtrueまたはfalseを取ることが出来るブーリアン
  • <string>: 文字列
  • <secret>: パスワードのような秘密の文字列
  • <tmpl_string>: 利用前にテンプレートで展開される文字列
  • <tmpl_secret>: 利用前にテンプレートで展開される秘密の文字列

そのほかのプレースホルダーは、個別に定義される。

グローバルな設定は、他の全ての部分で有効なパラメーターを指定する。 これらは、他の部分での設定のデフォルト値にもなる。

global:
  # ResolveTimeoutは、アラートが更新されていない場合に、
  # 解消されたと宣言するまでの時間である
  [ resolve_timeout: <duration> | default = 5m ]

  # デフォルトのSMTPのFromヘッダー
  [ smtp_from: <tmpl_string> ]
  # The default SMTP smarthost used for sending emails, including port number.
  # ポート番号は、普通は25で、(時にSTARTTLSと呼ばれる)SMTP over TLSなら587である。
  # Example: smtp.example.org:587
  [ smtp_smarthost: <string> ]
  # SMTPサーバーを特定するためのデフォルトのホスト名
  [ smtp_hello: <string> | default = "localhost" ]
  [ smtp_auth_username: <string> ]
  # SMTP Auth using LOGIN and PLAIN.
  [ smtp_auth_password: <secret> ]
  # SMTP Auth using PLAIN.
  [ smtp_auth_identity: <string> ]
  # SMTP Auth using CRAM-MD5. 
  [ smtp_auth_secret: <secret> ]
  # The default SMTP TLS requirement.
  [ smtp_require_tls: <bool> | default = true ]

  # The API URL to use for Slack notifications.
  [ slack_api_url: <secret> ]
  [ victorops_api_key: <secret> ]
  [ victorops_api_url: <string> | default = "https://alert.victorops.com/integrations/generic/20131114/alert/" ]
  [ pagerduty_url: <string> | default = "https://events.pagerduty.com/v2/enqueue" ]
  [ opsgenie_api_key: <secret> ]
  [ opsgenie_api_url: <string> | default = "https://api.opsgenie.com/" ]
  [ hipchat_api_url: <string> | default = "https://api.hipchat.com/" ]
  [ hipchat_auth_token: <secret> ]
  [ wechat_api_url: <string> | default = "https://qyapi.weixin.qq.com/cgi-bin/" ]
  [ wechat_api_secret: <secret> ]
  [ wechat_api_corp_id: <string> ]

  # The default HTTP client configuration
  [ http_config: <http_config> ]

# 独自の通知テンプレートの定義が読み込まれるファイル
# 最後の部分はワイルドカードマッチャーを利用可。例 'templates/*.tmpl'
templates:
  [ - <filepath> ... ]

# The root node of the routing tree.
route: <route>

# A list of notification receivers.
receivers:
  - <receiver> ...

# A list of inhibition rules.
inhibit_rules:
  [ - <inhibit_rule> ... ]

参考リンク

おすすめ書籍

入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング

入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング

入門 監視 ―モダンなモニタリングのためのデザインパターン

入門 監視 ―モダンなモニタリングのためのデザインパターン

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

和訳活動の支援

Prometheusドキュメント和訳が役に立った方は、以下QRコードからPayPayで活動を支援して頂けるとありがたいです。

PayPayによる支援用QRコード
上のQRコードからPayPayによる支援