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