Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PagerDutyの基礎的な概念 / Learning PagerDuty
Search
hideki kinjyo
PRO
September 17, 2019
Technology
0
1.3k
PagerDutyの基礎的な概念 / Learning PagerDuty
先々から導入していたPagerDutyについて、利用方法を見直すにあたって改めて基礎的なところを整理しました
hideki kinjyo
PRO
September 17, 2019
Tweet
Share
More Decks by hideki kinjyo
See All by hideki kinjyo
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
510
Composerの依存解決 #phpstudy
o0h
PRO
0
120
「影響が少ない」を自分の目でみてみる
o0h
PRO
3
1.7k
PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- #phperkaigi
o0h
PRO
0
1.7k
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
23
5.3k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
4k
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
730
ヒューマンエラーの本を読んだ ~報告会~
o0h
PRO
3
370
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
4
740
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
「魔法少女まどか☆マギカ Magia Exedra」におけるバックエンドの技術選定
gree_tech
PRO
0
100
CoRL 2025 Survey
harukiabe
1
240
AIとともに歩んでいくデザイナーの役割の変化
lycorptech_jp
PRO
0
800
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2.1k
Biz職でもDifyでできる! 「触らないAIワークフロー」を実現する方法
igarashikana
3
1.3k
事業開発におけるDify活用事例
kentarofujii
4
1.2k
Building a cloud native business on open source
lizrice
0
160
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
2
2k
Digitization部 紹介資料
sansan33
PRO
1
5.6k
HonoとJSXを使って管理画面をサクッと型安全に作ろう
diggymo
0
160
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
4
2.2k
Featured
See All Featured
Docker and Python
trallard
46
3.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
A Modern Web Designer's Workflow
chriscoyier
697
190k
It's Worth the Effort
3n
187
28k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Site-Speed That Sticks
csswizardry
13
920
Code Reviewing Like a Champion
maltzj
526
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
GitHub's CSS Performance
jonrohan
1032
470k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Transcript
PagerDutyの歩き⽅ やさしいかんしミートアップ番外
こんにちは!
@o0h_です!
ࣗݾհ • ίωώτגࣜձࣾ • αʔόʔαΠυΤϯδχΞ • ओʹCakePHPͳͲ
今⽇のお話: PagerDuty、使っていくよ〜!
Έͳ͞ʙΜʂ PagerDutyɺ͍ͬͯ·͔͢ʙʙʂ
None
Ͱ͢ΑͶʙʙ(Θ͔Δ)
コネヒトにおける これまでのPagerDuty
以前のコネヒト
PagerDuty = お電話システム • (なんのためのツールかはさておき) とにかく「電話を鳴らしてくれる」やつ • 寝てても・・安⼼だね! • 死活監視(Pingdom)と同時に導⼊。
「緊急事態」に電話で叩き起こされないね!
͏ͪΐͬͱ͚ͩɺͪΌΜͱ͍ͬͯ͘Ͷɻ
PagerDutyとは?
4FSWJDF *OUFHSBUJPO &YUFOTJPO *ODJEFOU "MFSU &TDBMBUJPO 1PMJDZ /PUJpDBUJPO3VMFT 4FSWJDF 4FSWJDF
6SHFODZ 4FWFSJUZ
主たる概念 ServiceはIntegrationとExtension、AlertsとIncident を束ねる概念である。IntegrationからAlertされた内 容をもとにIncidentが作成される。Incidentは Extension経由で外部サービスへ送信されると同時 に、Escalation Policyに基づいてユーザーにアサイン される。アサインされたIncidentのUrgencyに応じ て、ユーザーごとのNotification Rulesに基づき対応
するチャネルを通じて通知が⾏われる
None
Escalation Policy • Incidentを「誰に」「どの順番で」通知 (assign)していくか、というルールの設定 • 例えば、「まずはオンコール担当者に」「そ の後5分経っても誰も反応がなければリーダー に」「更に10分経っても誰も反応しなかった らシフト外も含めて全員に」のような
Incident(status) • Incident = 問題 • Incidentはstatusを持ち、Triggered: 発⽣ -> Acknowledged:
対応中 -> Resolved: 解決済み と進展す る • Triggered, Ack’edをまとめて「Opened」と呼ぶ • Ack’ed 以上にならないと、次のユーザーにエスカレー ションされる
Alert • Alertは、接続されたサービス(Integration)か らの異常の通知 • 複数のAlertが、条件によってIncidentに集約 されるイメージ • AlertがIncidentをTriggerすることもあるし、 Resolveすることもできる
Alert, Incidentの重⼤性 • AlertはSeverity、IncidentはUrgencyという重⼤性に関 するフィールドをそれぞれ持つ • Severityは5段階、Urgencyは2段階(High/Low) • Policyに基づいてEscalationされるのはhigh-urgencyの Incidentのみ
• Severityに応じてUrgencyを適⽤する設定も可能(次 ページ)
None
Integration / Extension • 「Alertを受け付ける」ための外部接続が Integration ➡ CloudWatch, Pingom, Sentry
• 「Notificationを送る」ための外部接続が Extension ➡ Slack
Service • Serviceは0個以上のIntegrationやExtensionを 持つ(1:n) • ServiceはAlertやIncidentを集約する(1:n) • Serviceは1つのEscalation Policyと紐づく(n: 1)
Notification Rules • Notification Rulesはユーザー個々⼈が設定するもの ➡ Serviceの持つ設定じゃないよ! • Urgencyに対して通知ルールを設定する 1.
high-urgency がアサインされた時 2. high-urgency が status:xxxに変更された時 3. low-urgencyがアサインされた時
None
࠷ݶɺ͜ͷ֓೦ͱྲྀΕΛ ֮͑ΕΑ͍ͷͰɾɾ