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] ボタンをクリックします。