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
いい感じのシステムアラートをTwilioで
Search
kohtaro24
August 07, 2018
Technology
0
960
いい感じのシステムアラートをTwilioで
障害発生時のアラートをTwilioでいい感じに作った話
kohtaro24
August 07, 2018
Tweet
Share
More Decks by kohtaro24
See All by kohtaro24
コールセンターシステムを0から作った話
kohtaro24
1
88
Other Decks in Technology
See All in Technology
AIエージェントを5分で一気におさらい!AIエージェント「構築」元年に備えよう
yakumo
1
140
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
670
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
980
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
320
AI時代のアジャイルチームを目指して ー スクラムというコンフォートゾーンからの脱却 ー / Toward Agile Teams in the Age of AI
takaking22
9
3.3k
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
680
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
330
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
120
技術選定、下から見るか?横から見るか?
masakiokuda
0
170
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
19k
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
260
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Balancing Empowerment & Direction
lara
5
830
The Curious Case for Waylosing
cassininazir
0
200
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
Automating Front-end Workflow
addyosmani
1371
200k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Test your architecture with Archunit
thirion
1
2.1k
Why Our Code Smells
bkeepers
PRO
340
58k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Embracing the Ebb and Flow
colly
88
4.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
Skip the Path - Find Your Career Trail
mkilby
0
37
Transcript
いい感じのシステムアラートをTwilioで @kohtaro24
Twilio Developer Meetup 2018 Summer で話してきた内容です
自己紹介
皆さんは経験ありますか?
_人人人人人人_ > 突然の死 <  ̄Y^Y^Y^Y^Y^Y^ ̄
Webサービスは突然死ぬ • 突然トラフィックが激増したり • 突然インフラに障害が起きたり • 突然某有名番組でオフィスが紹介されて企業HPに前代未聞のアクセスが殺到した り
運用者が気づけない場合もある
深夜のサービス障害のネック • 障害に気づきにくい ◦ 寝ている場合もありうる • 誰かがすでに対応開始しているかもしれない ◦ 作業が競合することによる 二次災害の不安
• 個人で対処の判断が難しいケース ◦ 運用者が複数人いる場合など
既存事例① • 様々な監視ツールからの通知を集約できる SaaS • 通知ごとにエスカレーションパターンや手段を細かに設定できる ◦ 障害発生時にメール →15分後に認知されなければ電話など •
料金が割高 • 電話がグローバル発信
既存事例② https://github.com/ryotarai/waker • PagerdutyのOSS版的な立ち位置 • 通知ごとにエスカレーションパターンや電話 /SMS/メールなど手段を細かに設定できる • Twilio使ってる •
サーバーを自前で用意する必要がある
スモールチームには少々敷居が高い • エスカレーションじゃなくていきなり関係者全員通知でいい ◦ 深夜待機者を年中立てられるほど人員がいない ◦ 対応できる誰かがすぐ気づければいい ◦ とはいえ二次災害は防ぎたい •
コストもかけたくない ◦ 障害はそんなに起きない(はず)なので固定費かけたくはない ◦ とはいえ障害にはすぐ対応したい • 手軽にすぐ導入できると嬉しい
Twilio Functions(サーバレス) + Twilio Conference(電話会議)
health check tool Twilio Functions /alert /join_conference Webhook call call
• 監視ツールからのイベントを受けたら、登録された番号に対して一斉発信
Twilio Functions /join_conference health check tool /alert answerd answerd ConferenceRoom1
join • 障害に気づいた(電話に応答した)人からConferenceに突っ込んでいく • 以後は障害状況を報告しあったりして連携しながら対応を進める • 自分以外がConferenceに入ってこなければとりあえず一人で頑張る
Functionsで作成したWebhookURL https://hogehogehoge.twil.io/alert ?tels=+8170xxxxxxxx,+8180xxxxxxxx &message=サーバがお隠れになったよ 発信したい電話番号 (カンマ区切り) 着信応答時にSayで流すメッセージ
Demo うごくかな
None
None
例えばTwilioで
例えばcurlで curl --data tels=+8170xxxxxxxx,+8180xxxxxxxx --data message= サーバがお隠れになったよ “https://hogehogehoge.twil.io/alert”
health check tool /alert /join_conference Webhook call call 通知がメール限定ならSendGridのEvent Webhookとか
Mail
実現したこと • 障害に電話で気づける ◦ Push通知よりは(寝てても)気づけそう • 気づいた者同士で通話しながら対処できる ◦ 二次災害の防止 ◦
状況を共有しながら分担したり意思決定したりスムーズにやれる • (ほぼ)固定費ゼロ ◦ 固定費は発信元番号の維持費 ¥100のみ ◦ Functionsは毎月10,000アクセスまで無料 ◦ 通話費はかかるが障害が起きなければ 0! • Webhook URLを共有すれば他チームでも導入できる ◦ チームや通知固有の設定は Webhook URL parametersで完結 • 1時間程度の開発で実現できた
これで安心して寝れるぞ!