10.8. カスタム Alertmanager 設定の適用
Alertmanager のプラットフォームインスタンスの openshift-monitoring
namespace で alertmanager-main
シークレットを編集して、デフォルトの Alertmanager 設定を上書きできます。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできます。
手順
CLI で Alertmanager 設定を変更するには、以下を実行します。
現在アクティブな Alertmanager 設定をファイル
alertmanager.yaml
に出力します。$ oc -n openshift-monitoring get secret alertmanager-main --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
alertmanager.yaml
で設定を編集します。global: resolve_timeout: 5m route: group_wait: 30s 1 group_interval: 5m 2 repeat_interval: 12h 3 receiver: default routes: - matchers: - "alertname=Watchdog" repeat_interval: 2m receiver: watchdog - matchers: - "service=<your_service>" 4 routes: - matchers: - <your_matching_rules> 5 receiver: <receiver> 6 receivers: - name: default - name: watchdog - name: <receiver> # <receiver_configuration>
- 1
group_wait
値は、Alertmanager がアラートグループの初期通知を送信するまで待機する時間を指定します。この値は、Alertmanager が通知を送信する前に、同じグループの初期アラートを収集するまで待機する時間を制御します。- 2
group_interval
値は、最初の通知がすでに送信されているアラートグループに追加された新しいアラートに関する通知を Alertmanager が送信するまでの時間を指定します。- 3
repeat_interval
の値は、アラート通知が繰り返される前に経過する必要のある最小時間を指定します。各グループの間隔で通知を繰り返す場合は、repeat_interval
の値をgroup_interval
の値よりも小さく設定します。ただし、たとえば特定の Alertmanager Pod が再起動または再スケジュールされた場合などは、繰り返し通知が遅延する可能性があります。- 4
service
の値は、アラートを発行するサービスを指定します。- 5
<your_matching_rules>
値は、ターゲットアラートを指定します。- 6
receiver
値は、アラートに使用するレシーバーを指定します。
注記matchers
キー名を使用して、ノードの照合でアラートが満たす必要のあるマッチャーを指定します。match
またはmatch_re
キー名は使用しないでください。どちらも非推奨であり、今後のリリースで削除される予定です。さらに、禁止ルールを定義する場合は、
target_matchers
キー名を使用してターゲットマッチャーを示し、source_matchers
キー 名を使用してソースマッチャーを示します。target_match
、target_match_re
、source_match
、またはsource_match_re
キー名は使用しないでください。これらは非推奨であり、今後のリリースで削除される予定です。以下の Alertmanager 設定例は、PagerDuty をアラートレシーバーとして設定します。
global: resolve_timeout: 5m route: group_wait: 30s group_interval: 5m repeat_interval: 12h receiver: default routes: - matchers: - "alertname=Watchdog" repeat_interval: 2m receiver: watchdog - matchers: - "service=example-app" routes: - matchers: - "severity=critical" receiver: team-frontend-page* receivers: - name: default - name: watchdog - name: team-frontend-page pagerduty_configs: - service_key: "_your-key_"
この設定では、
example-app
サービスで実行される重大度がcritical
のアラートは、team-frontend-page
receiver を使用して送信されます。通常、これらのタイプのアラートは、個別または緊急対策チーム (Critical Response Team) に送信先が設定されます。新規設定をファイルで適用します。
$ oc -n openshift-monitoring create secret generic alertmanager-main --from-file=alertmanager.yaml --dry-run=client -o=yaml | oc -n openshift-monitoring replace secret --filename=-
OpenShift Container Platform Web コンソールから Alertmanager 設定を変更するには、以下を実行します。
-
Web コンソールの Administration
Cluster Settings Configuration Alertmanager YAML ページに移動します。 - YAML 設定ファイルを変更します。
- Save を選択します。