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
「複数ウィンドウ、複数バーンレートのアラート」を設定する際の注意点
Search
iwamot
May 17, 2023
Technology
1
1.2k
「複数ウィンドウ、複数バーンレートのアラート」を設定する際の注意点
2023-05-19
SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会
https://findy.connpass.com/event/281605/
iwamot
May 17, 2023
Tweet
Share
More Decks by iwamot
See All by iwamot
Cline、めっちゃ便利、お金が飛ぶ💸
iwamot
19
19k
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
990
始めないともったいない!SLO運用で得られる3つのメリット
iwamot
1
110
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
3
7.3k
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
iwamot
2
290
AWS⼊社という選択肢、⾒えていますか
iwamot
2
1.3k
40代後半で開発エンジニアからクラウドインフラエンジニアにキャリアチェンジし、生き残れる自信がようやく持てた話
iwamot
9
9.2k
DockerのマルチプラットフォームイメージをGitHub Actionsでビルドして公開する際に、参考にしたドキュメントと便利だったツール
iwamot
4
450
RAGもファインチューニングも使わない 素朴なAIチャットボットを職場に導入した結果
iwamot
2
460
Other Decks in Technology
See All in Technology
Amazon GuardDuty Malware Protection for Amazon S3を使おう
ryder472
2
110
LINEギフトのLINEミニアプリアクセシビリティ改善事例
lycorptech_jp
PRO
0
250
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
4k
新卒エンジニア研修の試行錯誤と工夫/nikkei-tech-talk-31
nishiuma
0
200
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
2
460
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
7
1.2k
SaaSプロダクト開発におけるバグの早期検出のためのAcceptance testの取り組み
kworkdev
PRO
0
460
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
570
セマンティックレイヤー入門
ikkimiyazaki
8
3.3k
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
110
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
410
Redefine_Possible
upsider_tech
0
280
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
12
610
Site-Speed That Sticks
csswizardry
4
450
Docker and Python
trallard
44
3.3k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
Faster Mobile Websites
deanohume
306
31k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Practical Orchestrator
shlominoach
187
10k
What's in a price? How to price your products and services
michaelherold
245
12k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Building Applications with DynamoDB
mza
94
6.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Transcript
「複数ウィンドウ、複数バーンレートのアラート」を 設定する際の注意点 2023-05-19 SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会 https://findy.connpass.com/event/281605/ ENECHANGE株式会社 CTO室 インフラエンジニア兼SRE 岩本隆史 (iwamot)
こんな人
複数ウィンドウ、複数バーンレートのアラート
Google推奨のアラート設定 https://sre.google/workbook/alerting-on-slos/
2つのウィンドウで エラーバジェット消費を賢く通知
3つのバーンレートの監視が推奨 Severity Long window Short window Burn rate Error budget
consumed Page 1 hour 5 minutes 14.4 2% Page 6 hours 30 minutes 6 5% Ticket 3 days 6 hours 1 10%
条件式(ページ・チケット) ( job:slo_errors_per_request:ratio_rate1h{job="myjob"} > (14.4*0.001) and job:slo_errors_per_request:ratio_rate5m{job="myjob"} > (14.4*0.001) )
or ( job:slo_errors_per_request:ratio_rate6h{job="myjob"} > (6*0.001) and job:slo_errors_per_request:ratio_rate30m{job="myjob"} > (6*0.001) ) job:slo_errors_per_request:ratio_rate3d{job="myjob"} > 0.001 and job:slo_errors_per_request:ratio_rate6h{job="myjob"} > 0.001
そうか、この条件式をそのまま使えばいいんだな
違います
注意点1 適切な閾値はSLOによって異なる
係数 (0.001) は目標値次第
「0.001」は目標値99.9%のこと 1 - 0.999 = 0.001
99%なら「0.01」 1 - 0.99 = 0.01
バーンレート (14.4 / 6 / 1) は期間次第
条件式のバーンレートは30日間が前提 (30 * 24) / 1 * 2% = 14.4
(30 * 24) / 6 * 5% = 6 (30 * 24) / (3 * 24) * 10% = 1
7日間で計算すると (7 * 24) / 1 * 2% = 3.36
(7 * 24) / 6 * 5% = 1.4 (7 * 24) / (3 * 24) * 10% = 0.233
Googleは28日間を推奨
28日間で計算すると (28 * 24) / 1 * 2% = 13.44
(28 * 24) / 6 * 5% = 5.6 (28 * 24) / (3 * 24) * 10% = 0.933
「28日間で99%以上」の条件式 ( job:slo_errors_per_request:ratio_rate1h{job="myjob"} > (13.44*0.01) and job:slo_errors_per_request:ratio_rate5m{job="myjob"} > (13.44*0.01) )
or ( job:slo_errors_per_request:ratio_rate6h{job="myjob"} > (5.6*0.01) and job:slo_errors_per_request:ratio_rate30m{job="myjob"} > (5.6*0.01) ) job:slo_errors_per_request:ratio_rate3d{job="myjob"} > (0.933*0.01) and job:slo_errors_per_request:ratio_rate6h{job="myjob"} > (0.933*0.01)
なるほど。ちゃんと設定しよう これでエラーが急増しても ページが飛ぶから安心だな
違います
注意点2 SLOによってはページが飛ばない
例:1秒以内の応答が30日間で50%以上
「30日間で50%以上」の条件式 ( job:slo_errors_per_request:ratio_rate1h{job="myjob"} > (14.4*0.5) and job:slo_errors_per_request:ratio_rate5m{job="myjob"} > (14.4*0.5) )
or ( job:slo_errors_per_request:ratio_rate6h{job="myjob"} > (6*0.5) and job:slo_errors_per_request:ratio_rate30m{job="myjob"} > (6*0.5) ) job:slo_errors_per_request:ratio_rate3d{job="myjob"} > 0.5 and job:slo_errors_per_request:ratio_rate6h{job="myjob"} > 0.5
ページ条件 = エラー率300%超… 14.4 * 0.5 = 7.2 = 720%
6 * 0.5 = 3 = 300% 0.5 = 50%
エラー率300%はありえない ページは飛ばない
30日間の場合、飛ぶのは83.34%以上 6 * (1 - N) < 1 (1 -
N) < 0.1666 N > 0.8334
まとめ
「複数ウィンドウ、複数バーンレートのアラート」を 設定する際の注意点
適切な閾値はSLOによって異なる SLOによってはページが飛ばない