すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:Alertmanager ルーティングルールのインポート

最終更新日:Dec 30, 2024

このトピックでは、Alertmanager ルーティングルールを通知ポリシーとして Application Real-Time Monitoring Service (ARMS) アラート管理にインポートする方法について説明します。

背景情報

Alertmanager は、Prometheus ベースの監視ソリューションに不可欠なオープンソースのアラート通知コンポーネントです。Alertmanager の柔軟なルーティング、サイレンス、およびグループ化機能により、アラート通知をより合理的に送信できます。ただし、Alertmanager にはいくつかの欠点があります。たとえば、Alertmanager はテキストメッセージまたは電話を使用してアラート通知を送信できません。Alertmanager は、クローズドループ内でアラートを処理し、アラート管理をクラウドサービスと統合する機能を提供していません。したがって、Alertmanager はアラート転送ステーションとしてのみ使用できます。

Alertmanager のさまざまな機能に加えて、ARMS アラート管理は、アラートを処理および管理するための統合プラットフォームを提供します。ARMS アラート管理はクラウドにデプロイされ、クラウド上のさまざまなシステムと統合されているため、統合アラートセンターの構築に最適です。このトピックでは、Alertmanager で構成されているルーティングルール、グループ化ルール、およびサイレンスルールを ARMS アラート管理にインポートする方法について説明します。

エンティティマッピング

  • route フィールドは通知ポリシーにマッピングされます。
  • match フィールドは「等しい」条件にマッピングされます。
  • match_re フィールドは「正規表現に一致」条件にマッピングされます。
  • group_by フィールドはグループ化条件にマッピングされます。子ルートにグループ化条件がない場合、親ルートのグループ化条件を継承します。

制限事項

  • receivers フィールドは ARMS アラート管理にインポートできません。このフィールドには、email_configs、webhook_configs、dingtalk_configs、pagerduty_configs などの連絡先設定を含めることができます。
  • Alertmanager のルーティングルールはツリー構造になっています。ARMS アラート管理はレベル 1 ルートのみをサポートします。
  • Alertmanager は continue フィールドをサポートしています。ARMS アラート管理では、continue フィールドはデフォルトで true に設定されており、変更できません。
    # 設定例:
    # ルーティングツリーのルートノード。
    route:
    # アラートが後続の兄弟ノードとの一致を継続するかどうか。
    [ continue: <boolean> | default = false ]
  • ARMS アラート管理は match フィールドと match_re フィールドをサポートしますが、matchers フィールドはサポートしていません。
    # アラートがノードと一致するために満たす必要がある一連の等価性マッチャー。
    match:
      [ <labelname>: <labelvalue>, ... ]
    
    # アラートがノードと一致するために満たす必要がある一連の正規表現マッチャー。
    match_re:
      [ <labelname>: <regex>, ... ]
    # matchers フィールドはサポートされていません。
    # アラートがノードと一致するために満たす必要があるマッチャーのリスト。
    matchers:
      [ - <matcher> ... ]
  • ルートルートは通知ポリシーとしてインポートできません。
  • ルーティングルールには名前がありません。ルーティングルールが ARMS アラート管理にインポートされると、通知ポリシーにランダムな名前が生成されます。
  • inhibit_rules フィールドはインポートできません。
  • ルーティングルールのインポートによって生成された通知ポリシーのディスパッチ条件は変更できません。
  • インポート操作は冪等ではありません。ルーティングルールを複数回インポートすると、複数の通知ポリシーが生成されます。

手順

  1. Alertmanager の設定を取得します。
    例:
    global:
      smtp_smarthost: 'localhost:25'
      smtp_from: 'alertmanager@example.org'
      smtp_auth_username: 'alertmanager'
      smtp_auth_password: 'password'
    
    templates:
    - '/etc/alertmanager/template/*.tmpl'
    
    # 各受信アラートが最初に入るルートルート。
    route:
      group_by: ['alertname', 'cluster', 'service']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 3h
      receiver: team-X-mails
      routes:
      - match_re:
          service: "foo1|foo2|baz"
        receiver: team-X-mails
        routes:
        - match:
            severity: "critical"
          receiver: team-X-pager
      - match:
          service: "files"
        receiver: team-Y-mails
        routes:
        - match:
            severity: "critical"
          receiver: team-Y-pager
      - match:
          service: "database"
        receiver: team-DB-pager
        group_by: [alertname, cluster, database]
        routes:
        - match:
            owner: "team-X"
          receiver: team-X-pager
          continue: true
        - match:
            owner: "team-Y"
          receiver: team-Y-pager
    
    inhibit_rules:
    - source_matchers: [ severity="critical" ]
      target_matchers: [ severity="warning" ]
      equal: [ alertname, cluster, service ]
    
    
    receivers:
    - name: 'team-X-mails'
      email_configs:
      - to: 'team-X+alerts@example.org'
    
    - name: 'team-X-pager'
      email_configs:
      - to: 'team-X+alerts-critical@example.org'
      pagerduty_configs:
      - service_key: <team-X-key>
    
    - name: 'team-Y-mails'
      email_configs:
      - to: 'team-Y+alerts@example.org'
    
    - name: 'team-Y-pager'
      pagerduty_configs:
      - service_key: <team-Y-key>
    
    - name: 'team-DB-pager'
      pagerduty_configs:
      - service_key: <team-DB-key>
  2. ARMS console にログインします。左側のナビゲーションペインで、アラート管理 > 通知ポリシー を選択します。通知ポリシー セクションで、インポート をクリックします。
  3. 通知ポリシーのインポート ダイアログボックスで、手順 1 で取得したルーティングルールを貼り付けて、保存 をクリックします。
    しばらくすると、インポートされた通知ポリシーを表示できます。