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 の登録
PagerDuty にログインし、[Integrations] から [Generic Webhooks (v3)] を開きます。
[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 の発行は必要ありません。
- WEBHOOK URL:
[Save Changes] ボタンをクリックします。
通知テスト
- PagerDuty にログインし、[Integrations] から [Generic Webhooks (v3)] を開きます。
- テスト対象の Webhook をクリックします。
- 画面下部にある [Send Test Event] ボタンをクリックします。
- srest のダッシュボードを開き、サイドバーから [PagerDuty] を開きます。
- 送信が成功すると、[アラート一覧] に送信したイベントログが表示されます。
連携の解除
- PagerDuty にログインし、[Integrations] から [Generic Webhooks (v3)] を開きます。
- 削除したい Webhook を選択し、[...] から [Delete] をクリックします。
- 削除の確認ダイアログが開いたら、[Delete] ボタンをクリックします。