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.2k
PagerDutyの基礎的な概念 / Learning PagerDuty
先々から導入していたPagerDutyについて、利用方法を見直すにあたって改めて基礎的なところを整理しました
hideki kinjyo
PRO
September 17, 2019
Tweet
Share
More Decks by hideki kinjyo
See All by hideki kinjyo
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
17
4.1k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.5k
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
570
ヒューマンエラーの本を読んだ ~報告会~
o0h
PRO
3
290
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
4
570
SPLから始める「データ構造」入門
o0h
PRO
7
1.9k
PHPUnit11の新しい仲間たち
o0h
PRO
3
430
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
62
21k
パンフ記事 「初めてのリファクタリング!」 の裏側 #phperkaigi
o0h
PRO
2
180
Other Decks in Technology
See All in Technology
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
280
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
220
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
810
困難を「一般解」で解く
fujiwara3
2
130
事業を差別化する技術を生み出す技術
pyama86
2
110
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
170
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
120
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
640
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
6
300
MIMEと文字コードの闇
hirachan
2
1.4k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Being A Developer After 40
akosma
89
590k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
The Pragmatic Product Professional
lauravandoore
32
6.4k
GraphQLとの向き合い方2022年版
quramy
44
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How GitHub (no longer) Works
holman
314
140k
Designing Experiences People Love
moore
140
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
Facilitating Awesome Meetings
lara
52
6.2k
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
࠷ݶɺ͜ͷ֓೦ͱྲྀΕΛ ֮͑ΕΑ͍ͷͰɾɾ