6.7. カスタム Alertmanager 設定の適用

alertmanager-main シークレットを openshift-monitoring プロジェクト内で編集して、デフォルトの Alertmanager 設定を上書きできます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。

手順

CLI で Alertmanager 設定を変更するには、以下を実行します。

  1. 現在アクティブな Alertmanager 設定をファイル alertmanager.yaml に出力します。

    $ oc -n openshift-monitoring get secret alertmanager-main --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
  2. alertmanager.yaml で設定を編集します。

    global:
      resolve_timeout: 5m
    route:
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 12h
      receiver: default
      routes:
      - matchers:
        - "alertname=Watchdog"
        repeat_interval: 5m
        receiver: watchdog
      - matchers:
        - "service=<your_service>" 1
        routes:
        - matchers:
          - <your_matching_rules> 2
          receiver: <receiver> 3
    receivers:
    - name: default
    - name: watchdog
    - name: <receiver>
    #  <receiver_configuration>
    1
    service は、アラートを発生させるサービスを指定します。
    2
    <your_matching_rules> はターゲットアラートを指定します。
    3
    receiver は、アラートに使用する受信手段を指定します。
    注記

    matchers キー名を使用して、ノードの照合でアラートが満たす必要のあるマッチャーを指定します。match または match_re キー名は使用しないでください。どちらも非推奨であり、今後のリリースで削除される予定です。

    さらに、禁止ルールを定義する場合は、target_matchers キー名を使用してターゲットマッチャーを示し、source_matchers キー 名を使用してソースマッチャーを示します。target_matchtarget_match_resource_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: 5m
        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) に送信先が設定されます。

  3. 新規設定をファイルで適用します。

    $ 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 設定を変更するには、以下を実行します。

  1. Web コンソールの AdministrationCluster SettingsConfigurationAlertmanagerYAML ページに移動します。
  2. YAML 設定ファイルを変更します。
  3. Save を選択します。

関連情報