9.8. 通知を送信するための Alertmanager の設定


デフォルトのプラットフォームアラートの場合は alertmanager-main シークレット、ユーザー定義アラートの場合は alertmanager-user-workload シークレットを編集して、通知を送信するように Alertmanager を設定できます。

注記

サポートされているバージョンのアップストリーム Alertmanager のすべての機能は、OpenShift Alertmanager 設定でもサポートされます。サポートされているアップストリーム Alertmanager バージョンのあらゆる設定オプションを確認するには、Alertmanager 設定 を参照してください。

9.8.1. デフォルトのプラットフォームアラートの通知を設定する

クラスターからの重要なアラートを受信するために通知を送信するように Alertmanager を設定できます。Alertmanager からデフォルトのプラットフォームアラートに関する通知を送信する場所と方法をカスタマイズするには、openshift-monitoring namespace の alertmanager-main シークレットのデフォルト設定を編集します。

重要

Alertmanager はデフォルトでは通知を送信しません。alertmanager-main シークレット設定ファイルで通知の詳細を設定して、通知を届けるように Alertmanager を設定することを推奨します。

前提条件

  • cluster-admin クラスターロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. 現在アクティブな Alertmanager 設定を alertmanager-main シークレットから展開し、ローカルの alertmanager.yaml ファイルとして保存します。

    $ oc -n openshift-monitoring get secret alertmanager-main --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
    Copy to Clipboard Toggle word wrap
  2. alertmanager.yaml ファイルを開きます。
  3. Alertmanager の設定を編集します。

    1. オプション: デフォルトの Alertmanager 設定を変更します。

      デフォルトの 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
      receivers:
      - name: default
      - name: watchdog
      Copy to Clipboard Toggle word wrap

      1
      Alertmanager が通知を送信する前に、アラートグループの初期アラートを収集するまで待機する時間を指定します。
      2
      最初の通知がすでに送信されているアラートグループに追加された新しいアラートに関する通知を Alertmanager が送信するまでの時間を指定します。
      3
      アラート通知を繰り返すまでの最小時間を指定します。各グループの間隔で通知を繰り返す場合は、repeat_interval の値を group_interval の値よりも小さく設定します。ただし、特定の Alertmanager Pod が再起動または再スケジュールされた場合などには、通知の繰り返しが遅れる可能性があります。
    2. アラートレシーバーの設定を追加します。

      # ...
      receivers:
      - name: default
      - name: watchdog
      - name: <receiver> 
      1
      
        <receiver_configuration> 
      2
      
      # ...
      Copy to Clipboard Toggle word wrap
      1
      レシーバーの名前。
      2
      レシーバーの設定。サポートされているレシーバーは、PagerDuty、Webhook、メール、Slack、Microsoft Teams です。

      PagerDuty をアラートレシーバーとして設定する例

      # ...
      receivers:
      - name: default
      - name: watchdog
      - name: team-frontend-page
        pagerduty_configs:
        - routing_key: xxxxxxxxxx 
      1
      
      # ...
      Copy to Clipboard Toggle word wrap

      1
      PagerDuty 統合キーを定義します。

      メールアドレスをアラートレシーバーとして設定する例

      # ...
      receivers:
      - name: default
      - name: watchdog
      - name: team-frontend-page
        email_configs:
          - to: myemail@example.com 
      1
      
            from: alertmanager@example.com 
      2
      
            smarthost: 'smtp.example.com:587' 
      3
      
            auth_username: alertmanager@example.com  
      4
      
            auth_password: password
            hello: alertmanager 
      5
      
      # ...
      Copy to Clipboard Toggle word wrap

      1
      通知を送信するメールアドレスを指定します。
      2
      通知を送信するメールアドレスを指定します。
      3
      メールの送信に使用する SMTP サーバーアドレスを、ポート番号を含めて指定します。
      4
      Alertmanager が SMTP サーバーに接続するために使用する認証情報を指定します。この例では、ユーザー名とパスワードを使用します。
      5
      SMTP サーバーに識別させるためのホスト名を指定します。このパラメーターを含めない場合、ホスト名はデフォルトで localhost になります。
      重要

      Alertmanager には、メールアラートを送信するために外部 SMTP サーバーが必要です。メールアラートのレシーバーを設定する際には、外部 SMTP サーバーの必要な接続の詳細情報があることを確認してください。

    3. ルーティング設定を追加します。

      # ...
      route:
        group_wait: 30s
        group_interval: 5m
        repeat_interval: 12h
        receiver: default
        routes:
        - matchers:
          - "alertname=Watchdog"
          repeat_interval: 2m
          receiver: watchdog
        - matchers: 
      1
      
          - "<your_matching_rules>" 
      2
      
          receiver: <receiver> 
      3
      
      # ...
      Copy to Clipboard Toggle word wrap
      1
      アラートがノードと一致するために満たす必要がある一致ルールを指定するには、matchers キー名を使用します。禁止ルールを定義する場合は、ターゲットマッチャーに target_matchers キー名を使用し、ソースマッチャーに source_matchers キー名を使用します。
      2
      アラートに一致するラベルを指定します。
      3
      アラートに使用するレシーバーの名前を指定します。
      警告

      matchmatch_retarget_matchtarget_match_resource_matchsource_match_re のキー名は使用しないでください。これらは非推奨であり、今後のリリースで削除される予定です。

      アラートルーティングの例

      # ...
      route:
        group_wait: 30s
        group_interval: 5m
        repeat_interval: 12h
        receiver: default
        routes:
        - matchers:
          - "alertname=Watchdog"
          repeat_interval: 2m
          receiver: watchdog
        - matchers: 
      1
      
          - "service=example-app"
          routes: 
      2
      
          - matchers:
            - "severity=critical"
            receiver: team-frontend-page
      # ...
      Copy to Clipboard Toggle word wrap

      1
      この例では、example-app サービスからのアラートが一致します。
      2
      より複雑なアラートルーティングを設定するために、他のルート内にルートを作成することもできます。

      前の例では、example-app サービスによって発生した重大度が critical のアラートが、team-frontend-page レシーバーにルーティングされます。通常、このタイプのアラートは、個人または緊急対応チームに通知します。

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

    $ 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=-
    Copy to Clipboard Toggle word wrap
  5. ルーティングツリーを可視化してルーティング設定を確認します。

    $ oc exec alertmanager-main-0 -n openshift-monitoring -- amtool config routes show --alertmanager.url http://localhost:9093
    Copy to Clipboard Toggle word wrap

    出力例

    Routing tree:
    .
    └── default-route  receiver: default
        ├── {alertname="Watchdog"}  receiver: Watchdog
        └── {service="example-app"}  receiver: default
            └── {severity="critical"}  receiver: team-frontend-page
    Copy to Clipboard Toggle word wrap

9.8.2. ユーザー定義アラートの通知の設定

ユーザー定義のアラートルーティング専用の Alertmanager の別のインスタンスを有効にしている場合は、openshift-user-workload-monitoring namespace の alertmanager-user-workload シークレットを編集して、インスタンスが通知を送信する場所と方法をカスタマイズできます。

前提条件

  • cluster-admin クラスターロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

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

    $ oc -n openshift-user-workload-monitoring get secret alertmanager-user-workload --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
    Copy to Clipboard Toggle word wrap
  2. alertmanager.yaml で設定を編集します。

    route:
      receiver: Default
      group_by:
      - name: Default
      routes:
      - matchers:
        - "service = prometheus-example-monitor" 
    1
    
        receiver: <receiver> 
    2
    
    receivers:
    - name: Default
    - name: <receiver>
      <receiver_configuration> 
    3
    Copy to Clipboard Toggle word wrap
    1
    アラートに一致するラベルを指定します。この例では、service="prometheus-example-monitor" ラベルを持つすべてのアラートを対象とします。
    2
    アラートグループに使用するレシーバーの名前を指定します。
    3
    レシーバーの設定を指定します。
  3. 新規設定をファイルで適用します。

    $ oc -n openshift-user-workload-monitoring create secret generic alertmanager-user-workload --from-file=alertmanager.yaml --dry-run=client -o=yaml |  oc -n openshift-user-workload-monitoring replace secret --filename=-
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat