PagerDutyの基礎的な概念 / Learning PagerDuty

C90bac78c0fb61105cfd8239767f903d?s=47 hideki kinjyo
September 17, 2019

PagerDutyの基礎的な概念 / Learning PagerDuty

先々から導入していたPagerDutyについて、利用方法を見直すにあたって改めて基礎的なところを整理しました

C90bac78c0fb61105cfd8239767f903d?s=128

hideki kinjyo

September 17, 2019
Tweet

Transcript

  1. PagerDutyの歩き⽅ やさしいかんしミートアップ番外

  2. こんにちは!

  3. @o0h_です!

  4. ࣗݾ঺հ • ίωώτגࣜձࣾ • αʔόʔαΠυΤϯδχΞ • ओʹCakePHPͳͲ

  5. 今⽇のお話: PagerDuty、使っていくよ〜!

  6. Έͳ͞ʙΜʂ
 PagerDutyɺ࢖͍ͬͯ·͔͢ʙʙʂ

  7. None
  8. Ͱ͢ΑͶʙʙ(Θ͔Δ)

  9. コネヒトにおける これまでのPagerDuty

  10. 以前のコネヒト

  11. PagerDuty = お電話システム • (なんのためのツールかはさておき)
 とにかく「電話を鳴らしてくれる」やつ • 寝てても・・安⼼だね! • 死活監視(Pingdom)と同時に導⼊。


    「緊急事態」に電話で叩き起こされないね!
  12. ΋͏ͪΐͬͱ͚ͩɺͪΌΜͱ࢖͍ͬͯ͘Ͷɻ

  13. PagerDutyとは?

  14. 4FSWJDF *OUFHSBUJPO &YUFOTJPO *ODJEFOU "MFSU &TDBMBUJPO 1PMJDZ /PUJpDBUJPO3VMFT 4FSWJDF 4FSWJDF

    6SHFODZ 4FWFSJUZ
  15. 主たる概念 ServiceはIntegrationとExtension、AlertsとIncident を束ねる概念である。IntegrationからAlertされた内 容をもとにIncidentが作成される。Incidentは Extension経由で外部サービスへ送信されると同時 に、Escalation Policyに基づいてユーザーにアサイン される。アサインされたIncidentのUrgencyに応じ て、ユーザーごとのNotification Rulesに基づき対応

    するチャネルを通じて通知が⾏われる
  16. None
  17. Escalation Policy • Incidentを「誰に」「どの順番で」通知 (assign)していくか、というルールの設定 • 例えば、「まずはオンコール担当者に」「そ の後5分経っても誰も反応がなければリーダー に」「更に10分経っても誰も反応しなかった らシフト外も含めて全員に」のような

  18. Incident(status) • Incident = 問題 • Incidentはstatusを持ち、Triggered: 発⽣ -> Acknowledged:

    対応中 -> Resolved: 解決済み と進展す る • Triggered, Ack’edをまとめて「Opened」と呼ぶ • Ack’ed 以上にならないと、次のユーザーにエスカレー ションされる
  19. Alert • Alertは、接続されたサービス(Integration)か らの異常の通知 • 複数のAlertが、条件によってIncidentに集約 されるイメージ • AlertがIncidentをTriggerすることもあるし、 Resolveすることもできる

  20. Alert, Incidentの重⼤性 • AlertはSeverity、IncidentはUrgencyという重⼤性に関 するフィールドをそれぞれ持つ • Severityは5段階、Urgencyは2段階(High/Low) • Policyに基づいてEscalationされるのはhigh-urgencyの Incidentのみ

    • Severityに応じてUrgencyを適⽤する設定も可能(次 ページ)
  21. None
  22. Integration / Extension • 「Alertを受け付ける」ための外部接続が Integration ➡ CloudWatch, Pingom, Sentry

    • 「Notificationを送る」ための外部接続が Extension ➡ Slack
  23. Service • Serviceは0個以上のIntegrationやExtensionを 持つ(1:n) • ServiceはAlertやIncidentを集約する(1:n) • Serviceは1つのEscalation Policyと紐づく(n: 1)

  24. Notification Rules • Notification Rulesはユーザー個々⼈が設定するもの ➡ Serviceの持つ設定じゃないよ! • Urgencyに対して通知ルールを設定する 1.

    high-urgency がアサインされた時 2. high-urgency が status:xxxに変更された時 3. low-urgencyがアサインされた時
  25. None
  26. ࠷௿ݶɺ͜ͷ֓೦ͱྲྀΕΛ
 ֮͑Ε͹Α͍ͷͰ͸ɾɾ