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.1k
「複数ウィンドウ、複数バーンレートのアラート」を設定する際の注意点
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
AWS⼊社という選択肢、⾒えていますか
iwamot
2
1.2k
40代後半で開発エンジニアからクラウドインフラエンジニアにキャリアチェンジし、生き残れる自信がようやく持てた話
iwamot
9
8.9k
DockerのマルチプラットフォームイメージをGitHub Actionsでビルドして公開する際に、参考にしたドキュメントと便利だったツール
iwamot
4
330
RAGもファインチューニングも使わない 素朴なAIチャットボットを職場に導入した結果
iwamot
1
170
Amazon CloudWatchでSLOを監視してみた CODT 2024 クロージングイベント版
iwamot
0
110
Cost-Effective SLO Error Budget Monitoring with Athena and CloudWatch
iwamot
0
930
Amazon CloudWatchでSLOを監視してみた
iwamot
0
110
AWS Protonの概要
iwamot
0
180
ENECHANGEが実現した管理者の工数負担を削減しながらもAWSセキュリティを強化した方法とは
iwamot
0
180
Other Decks in Technology
See All in Technology
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
520
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
840
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
Qiita埋め込み用スライド
naoki_0531
0
860
Storage Browser for Amazon S3
miu_crescent
1
140
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
170
MLOps の現場から
asei
6
630
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
1
110
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
Featured
See All Featured
It's Worth the Effort
3n
183
28k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Documentation Writing (for coders)
carmenintech
66
4.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Fireside Chat
paigeccino
34
3.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Rails Girls Zürich Keynote
gr2m
94
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Facilitating Awesome Meetings
lara
50
6.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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によってはページが飛ばない