Skip to content

PagerDuty

収集可能なイベント

PagerDuty が提供する Webhook の機能を利用して、各種イベントログを srest に送信できます。

イベントソースイベントの概要
incident.acknowledgedインシデントが承認された
incident.annotatedインシデントにメモが追加された
incident.conference_bridge.updated会議ブリッジが更新された
incident.custom_field_values.updatedカスタムフィールドの値が更新された
incident.delegatedインシデントが他のエスカレーションポリシーに再割り当てされた
incident.escalatedインシデントが同じエスカレーションレベルの他のユーザーにエスカレーションされた
incident.priority_updatedインシデントの優先度が変更された
incident.reassignedインシデントが他のユーザーに再割り当てされた
incident.reopenedインシデントが再開された
incident.resolvedインシデントが解決された
incident.responder.addedレスポンダーがインシデントに追加された
incident.responder.repliedレスポンダーがリクエストに応答した
incident.status_update_publishedインシデントのステータスが更新された
incident.triggeredインシデントが新規に作成された
incident.unacknowledgedインシデントが未認識の状態に更新された
incident.workflow.completedインシデントワークフローが終了した
incident.workflow.startedインシデントワークフローが開始された

イベントソースは、リクエストボディに含まれる event.event_type パラメータの値を指します。

設定手順

Webhook の登録

  1. PagerDuty にログインし、[Integrations] から [Generic Webhooks (v3)] を開きます。

  2. [New Webhook] ボタンをクリックし、下記の通りフィールドを設定します。

    • WEBHOOK URL: https://api.srest.io/events/pagerduty/incident
    • SCOPE TYPE: (後述)
    • EVENT SUBSCRIPTION: incident.*
    • CUSTOM HEADERS: X-API-KEY: {API キー}

    [SCOPE TYPE] は、PagerDuty と監視対象アプリケーションの関係性により、推奨する設定が異なります。 例えば、PagerDuty アカウントで決済システムを監視しているとします (下図参照)。

    PagerDuty ではアプリケーションの構成や規模によって複数のサービスを登録することができますが、これらは全て決済システムに依存するサービスとなります。 srest では PagerDuty が提供する一部、または全てのサービスを集約して 1 つのサービス (決済システム) として扱います。 今回の例で言えば、PagerDuty の全てのサービスは決済システムに依存しているため、[SCOPE TYPE] は [Account] が推奨となります。 HTTP ヘッダーに付加する API キーは、srest の決済サービスで発行した API キーを送信する必要があります。

    次に 1 つの PagerDuty アカウントで複数のアプリケーションを監視するパターンです (下図参照)。

    PagerDuty では 1 つのアプリケーションに対して複数のサービスを登録することができますが、srest ではシステムの単位でログを集約する必要があります。 今回の例で言えば、[SCOPE TYPE] は [Service] を設定し、PagerDuty のサービス単位で srest に送信する API キーを設定する形が推奨となります。 この場合、ゲームシステムのように srest と連動しないサービスは Webhook の発行は必要ありません。

  3. [Save Changes] ボタンをクリックします。

通知テスト

  1. PagerDuty にログインし、[Integrations] から [Generic Webhooks (v3)] を開きます。
  2. テスト対象の Webhook をクリックします。
  3. 画面下部にある [Send Test Event] ボタンをクリックします。
  4. srest のダッシュボードを開き、サイドバーから [PagerDuty] を開きます。
  5. 送信が成功すると、[アラート一覧] に送信したイベントログが表示されます。

連携の解除

  1. PagerDuty にログインし、[Integrations] から [Generic Webhooks (v3)] を開きます。
  2. 削除したい Webhook を選択し、[...] から [Delete] をクリックします。
  3. 削除の確認ダイアログが開いたら、[Delete] ボタンをクリックします。