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
AWS SNSでエラー通知させ、SLOについて考える
Search
melanmeg
July 08, 2024
Programming
1
90
AWS SNSでエラー通知させ、SLOについて考える
以下、登壇資料。
JAWS-UG SRE支部 #9 初心者LT大会
https://jawsug-sre.connpass.com/event/321380/
melanmeg
July 08, 2024
Tweet
Share
More Decks by melanmeg
See All by melanmeg
今までアウトプットしてこなかった私が、今年からアウトプットを始めてわかったこと
melanmeg
3
330
コマンド一発で、本格的なおうちKubernetesを構築する
melanmeg
3
200
Keycloakの歴史とSSO
melanmeg
0
64
Other Decks in Programming
See All in Programming
オープンソースコントリビュート入門
_katsuma
0
120
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
110
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
100
監視 やばい
syossan27
12
10k
Beyond_the_Prompt__Evaluating__Testing__and_Securing_LLM_Applications.pdf
meteatamel
0
100
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
230
Qiita Bash
mercury_dev0517
2
220
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
110
Bedrock × Confluenceで簡単(?)社内RAG
iharuoru
1
110
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
10
3.7k
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
7
3.3k
20250426 GDGoC 合同新歓 - GDGoC のススメ
getty708
0
110
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Typedesign – Prime Four
hannesfritz
41
2.6k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
The Invisible Side of Design
smashingmag
299
50k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
How GitHub (no longer) Works
holman
314
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Transcript
AWS SNSでエラー通知させ、 SLOについて考える 2024/7/8 JAWS-UG SRE支部#9 初心者LT大会 @melanmeg
自己紹介 株式会社スカイウイル インフラエンジニア 3年目 山本 直矢 @melanmeg 趣味:ホロライブやツイキャスを見ること 業務:現在は、k6やKeycloakを触っている
アジェンダ • エラー通知の導入方法 • メトリクスフィルターとサブスクリプションフィルター • メトリクスフィルター構成 • サブスクリプションフィルター構成 •
SLOについて考える
{ "logs": { "logs_collected": { "files": { "collect_list": [ {
"file_path": "/var/log/syslog", "log_group_name": "/var/log/syslog", "log_stream_name": "{instance_id}", "timestamp_format": "%b %d %H:%M:%S" } ] } } } } ログ出力設定ファイル エラー通知の導入方法 1. 適当なVMを用意 2. ログドライバーをインストール 3. ログ出力設定 4. CloudWatch側でログを検知し、 メール通知する AWSでログの中からエラーログだけを 通知する監視基盤がほしい あるお客さんの要望
メトリクスフィルターとサブスクリプションフィルター メリット デメリット メトリクスフィルター アラームを組み合わせて メール通知可能 メール内容のカスタマイズができない サブスクリプション フィルター ログ内容をメールに含めることが可能
直接メール通知することができず、 Lambdaを経由するなどが必要 一旦、メトリクスフィルターを検証 今回「ERROR」という文字を含む場合アラート発生させる
• 長くてよく分からない… • ログ内容も欲しい… メトリクスフィルター構成 構成 メール内容
サブスクリプションフィルター構成 • パッと見で分かりやすい • ログ内容も分かる 構成 メール内容
Lambdaの整形コード ※EventBridgeによる死活監視も同様 Pythonで実装
SLOについて考える 引用:https://www.oreilly.co.jp/books/9784814400348/ エラーバジェット SLO SLI SLIとは、たとえばWebページを十分な速さで読み込めるかといった指標 1日に訪問者数が60,000人いて、59,982人が2秒以内にページを読み込んだことを計測できたとする ページ読み込みの99.97%が「良い速さ」であればユーザーは満足すると推測 59,982 60,000
= 99.97% SLO SLOとは? 信頼性スタック
改善案 現状エラーログはすべてメール通知 ⇒エラー通知が多すぎて、管理者が状況を把握しずらいと想定 ⇒特定の条件でアラートが発生したらLambda経由でメール通知する ※2023/12/22 CloudWatch AlermがLambdaをアラーム状態変更アクションとしてサポートされたよう 引用:https://aws.amazon.com/jp/about-aws/whats-new/2023/12/amazon-cloudwatch-alarms-lambda-change-action/ 定義を考えてみる •
SLI:リクエストが十分なだけ成功しているかどうか 仮定として、以下条件までを許容するとする。 期間:1ヶ月 合計リクエスト数:1,000,000 エラーログの総数:500 • SLO:99.95% • エラーバジェット:エラーログが500個まで 1ヶ月内にエラーログが 500個を超えたらアラートを発生
おわり