AWS のモニタリングとトラブルシューティング
John Q. Martin
Principal Consultant

病院に例えると:受付 → 病棟 → 専門医
上位 - エグゼクティブサマリー
中位 - サービス健全性
下位 - 詳細診断

この4つを把握すれば、大半の問題に対応できます。

まず RED を起点にし、より深い診断にはサチュレーションを加えましょう。

["AWS/ApplicationELB",
"RequestCount",
{"stat": "Sum"}]
"metrics": [
["AWS/Lambda", "Errors",
{"stat":"Sum","id":"errors"}],
[".", "Invocations",
{"stat":"Sum","id":"invocations"}],
[{"expression":
"(errors/invocations)*100",
"label":"Error Rate %"}]
]
["AWS/ApplicationELB",
"TargetResponseTime",
{"stat": "p50"}],
["AWS/ApplicationELB",
"TargetResponseTime",
{"stat": "p95"}],
["AWS/ApplicationELB",
"TargetResponseTime",
{"stat": "p99"}]
直近のエラークエリ:
fields @timestamp, @message
| filter @message like /ERROR/
| sort @timestamp desc
| limit 20
エラー種別のカウント:
filter @message like /ERROR/
| stats count(*) as errors
by errorType
| sort errors desc


救急トリアージに例えると:安定化 → 診断 → 治療 → 確認

分析: トラフィック急増によるリソース過負荷

分析: データベースがボトルネックとなり、低速クエリがコネクションプールを枯渇させています

サービス A の小さな問題が依存チェーン全体に波及しました

AWS のモニタリングとトラブルシューティング