検索

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

download PDF

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

注記

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

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

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

重要

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

前提条件

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

手順

  1. Alertmanager の YAML 設定ファイルを開きます。

    • CLI から Alertmanager 設定を開くには、以下を実行します。

      1. 現在アクティブな Alertmanager 設定を、alertmanager-main シークレットから alertmanager.yaml ファイルに出力します。

        $ oc -n openshift-monitoring get secret alertmanager-main --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
      2. alertmanager.yaml ファイルを開きます。
    • OpenShift Container Platform Web コンソールから Alertmanager 設定を開くには、以下を実行します。

      1. Web コンソールの Administration Cluster Settings Configuration Alertmanager YAML ページに移動します。
  2. YAML 内のパラメーターを更新して、Alertmanager 設定を編集します。

    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> 7
    1
    Alertmanager が通知を送信する前に、アラートグループの初期アラートを収集するまで待機する時間を指定します。
    2
    最初の通知がすでに送信されているアラートグループに追加された新しいアラートに関する通知を Alertmanager が送信するまでの時間を指定します。
    3
    アラート通知を繰り返すまでの最小時間を指定します。各グループの間隔で通知を繰り返す場合は、repeat_interval の値を group_interval の値よりも小さく設定します。ただし、特定の Alertmanager Pod が再起動または再スケジュールされた場合などには、通知の繰り返しが遅れる可能性があります。
    4
    アラートを発生させるサービスの名前を指定します。
    5
    アラートに一致するラベルを指定します。
    6
    アラートに使用するレシーバーの名前を指定します。
    7
    レシーバーの設定を指定します。
    重要
    • 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: 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 レシーバーを介して送信されます。通常、この種のアラートは、個人または緊急対応チームに通知します。

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

    • CLI から変更を適用するには、次のコマンドを実行します。

      $ 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 コンソールから変更を適用するには、Save をクリックします。

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

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

前提条件

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

手順

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

    $ oc -n openshift-user-workload-monitoring get secret alertmanager-user-workload --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
  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
    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=-
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.