PagerDuty V1 のログの収集
Sumo Logic コレクタとソースの設定
Sumo Logic で、以下を設定します。
PagerDuty V1 Webhook の作成
PagerDuty V1 で Webhook を使用することで、PagerDuty アカウントでインシデント イベントが発生したときに HTTP コールバックを受信できます。イベントに関する詳細は、HTTP を使用して指定した URL に送信されます。
PagerDuty V1 では、次の手順に従って Webhook を作成します。
https://support.pagerduty.com/hc/en-us/articles/202830320-Webhooks-
ステップ 6 で入力を要求されるエンドポイント URL は、設定した HTTP ソースからの HTTP ソース アドレス URL です。
ログ メッセージのサンプル
{ "messages":[ { "type":"incident.trigger", "data":{ "incident":{ "id":"XYMSSAJ", "incident_number":269073, "created_on":"02/Oct/2017:17:30:08", "status":"acknowledged", "pending_actions":[ ], "html_url":"https://abc.pagerduty.com/incidents/PCPUCKD", "incident_key":"test-umlsstore-umls_ingest_lag_percustomer", "service":{ "id":"WXZCJPO", "name":"Data Collection", "html_url":"https://abc.pagerduty.com/services/FDDIFGW", "deleted_at":null, "description":"" }, "escalation_policy":{ "id":"OTWUJRM", "name":"Data Collection Policy", "deleted_at":null }, "assigned_to_user":{ "id":"LDDRYMI", "name":"Ben Newton", "email":"Ben@sumologic", "html_url":"https://abc.pagerduty.com/users/ESWMJMB" }, "trigger_summary_data":{ "description":"long-rework-4/health/free_space__usr_sumo: Use too much 80.0 % of disk space (max: 80.0 %)" }, "trigger_details_html_url":"https://abc.pagerduty.com/incidents/PCPUCKD/log_entries/Q3D0S9KSL98UNI", "trigger_type":"trigger_svc_event", "last_status_change_on":"02/Oct/2017:17:30:08", "last_status_change_by":null, "number_of_escalations":0, "assigned_to":[ { "at":"02/Oct/2017:17:30:08", "object":{ "id":"PR1XYJN", "name":"Ben Newton", "email":"Ben@sumologic", "html_url":"https://abc.pagerduty.com/users/PR1XYJN", "type":"user" } } ], "urgency":"low" } }, "id":"346c0ff0-114d-11e6-afa8-22000a1798ef", "created_on":"02/Oct/2017:17:30:08" } ] }
クエリのサンプル
ユーザに割り当てられたインシデントの数
_sourceCategory=pagerduty assigned_to "incident.trigger"
| json "messages[0].type", "messages[0].data.incident.id", "messages[0].data.incident.created_on", "messages[0].data.incident.status", "messages[0].data.incident.urgency", "messages[0].data.incident.assigned_to[0].object.name", "messages[0].data.incident.escalation_policy.name", "messages[0].data.incident.service.name", "messages[0].data.incident.trigger_summary_data.description" as type, incident_id, created_on, incident_status, incident_urgency, assigned_user, escalation_policy_name, service_name, incident_descrition
| where type = "incident.trigger"
| count by assigned_user, incident_urgency
| transpose row assigned_user column incident_urgency
| order by assigned_user asc