Event Orchestrationによる自動実行

この演習では、PagerDutyでEventを受信した際に、Event Orchestrationのルールに基づいてAcutomation Actionを自動実行する方法を学びます。

Event Orchestrationの設定#

今回は各Service固有のルールを管理する、Service Orchestration Rulesを利用します。

参考: PagerDuty 設定ガイド (トリアージ編4) - Event Orchestrationでアラートへの対処を自動化する

  1. PagerDutyにログインし、上部メニューの Services > Service Directory を開き、以前作成したServiceをクリックします。

  2. Serviceの詳細画面が開いたら、Settingsタブをクリックします。 Image

  3. Settignsタブ内を下にスクロールし、Event Managementの箇所にある View Event Orchestration Rulesボタンをクリックします。 Image

  4. Service Orchestration Rulesの設定画面が開いたら、+ New Ruleボタンをクリックします。 Image

  5. Condition設定画面では、ルールを適用する条件を指定します。右側に以前送信したEventのデータが確認できるので、今回はこれを利用して条件を作成します。
    画面右側に表示されている過去のEvent名をクリックします。 Image

  6. Eventに含まれていたデータが表示されるので、今回は "group": "prod-datapipe" をクリックしてみます。 Image

  7. 左側の条件に「Groupフィールドに prod-datapipe が含まれていること」という条件が追加されました。
    +Andボタンをクリックします。 Image

  8. "severity": "critical" をクリックします。
    以上で、「Groupフィールドに prod-datapipe が含まれている」かつ「Severityフィールドに critical が含まれている」という条件が設定できました。Nextをクリックしてください。 Image

  9. 次は条件に一致した場合に、どのような処理を行うのかについて設定を行います。
    左メニューのAutomation Actionsをクリックし、右画面のプルダウンメニューから以前作成したAutomation Actionを選択してください。画面右下のSaveをクリックします。 Image

  10. 以上で、Service Orchestration Ruleが作成できました。
    今後は "group": "prod-datapipe" を含むEventをこのServiceで受信すると、Automation Actionが自動実行されます。 Image

EventによるAutomation Actionのトリガー#

  1. PagerDuty Event APIv2のリファレンスページをブラウザで開きます。

  2. 画面右のBody編集画面内で、routing_keyの値に以前保存したIntegration Keyの値を入力し、Send API Requestボタンをクリックしてください。
    PagerDutyで正常にリクエストが受け付けられると、Response画面に 202 Accepted が表示されます。 Image

  3. PagerDutyにログインし、AIOps > Operations Consoleを開きます。
    (AIOpsメニューが表示されない場合は、Incidents > All Incidentsを開いてください。)
    表示されているインシデントのタイトルをクリックし、詳細画面を開きます。 Image

  4. インシデント詳細画面を下にスクロールし、Timelineタブを開きます。自動診断の実行結果が出力されていれば成功です。 Image

トラブルシューティング#

Eventを送ってもインシデントが作成されない場合、以下を確認してください。

  1. 以前作成したインシデントが残っていないか:
    TriggeredまたはAcknowledgedステータスのままの同一インシデントが残っていると、PagerDutyは新しくインシデントを作成せずに既存のインシデントにアラートを集約します。インシデントをResolveした後に、再度Eventを送信してください。

  2. Eventを送信する際に、正しいIntegration Keyの値を指定しているか:
    Integration Keyは Services > Service Directory から対象のサービスを選択し、Integrationsタブを開くと確認することができます。 Image

以上で、PagerDutyで特定のEventを受信した際に、Automation Actionを自動実行することができました。

次はRBAで少し高度なワークフローを作成する方法を学びます。