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
1k
PagerDutyの基礎的な概念 / Learning PagerDuty
先々から導入していたPagerDutyについて、利用方法を見直すにあたって改めて基礎的なところを整理しました
hideki kinjyo
PRO
September 17, 2019
Tweet
Share
More Decks by hideki kinjyo
See All by hideki kinjyo
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
3
350
SPLから始める「データ構造」入門
o0h
PRO
7
1.5k
PHPUnit11の新しい仲間たち
o0h
PRO
3
240
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
57
18k
パンフ記事 「初めてのリファクタリング!」 の裏側 #phperkaigi
o0h
PRO
2
130
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
3
960
Composerを便利に使うために私がやっていること #phperkaigi
o0h
PRO
1
2.1k
OpCode目線で眺める PHPコードのカバレッジ
o0h
PRO
3
740
アプリケーションエンジニアこそ「監視」だよね!と私が考える訳 #phpkansai
o0h
PRO
21
9.8k
Other Decks in Technology
See All in Technology
PDF Viewer作成の今までとこれから
hunachi
0
210
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
120
バックログを導入し やっぱやめた話
ota42y
0
200
Mocking in Rust Applications
taiki45
1
340
Analytics-Backed App Widget Development - Served with Jetpack Glance
miyabigouji
0
180
リアルお遍路+SORACOM IoT
ozk009
1
100
JEP 480: Structured Concurrency
aya_ebata
0
110
FastConnect の冗長性
ocise
0
7.2k
EitherT_with_Future
aoiroaoino
1
970
The XZ Backdoor Story
fr0gger
0
2.8k
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
21
8.6k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Producing Creativity
orderedlist
PRO
340
39k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
The Language of Interfaces
destraynor
153
23k
The Cost Of JavaScript in 2023
addyosmani
41
5.2k
Happy Clients
brianwarren
96
6.6k
Adopting Sorbet at Scale
ufuk
73
8.9k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
For a Future-Friendly Web
brad_frost
174
9.3k
Designing with Data
zakiwarfel
98
5k
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
࠷ݶɺ͜ͷ֓೦ͱྲྀΕΛ ֮͑ΕΑ͍ͷͰɾɾ