ログ、メトリクス、直近のデプロイを相関させて CloudWatch アラームをトリアージする
使うタイミング: アラームが発火し、コンソールのタブを切り替えることなく「どのサービスか、どのデプロイか、どのログ行か」を特定したいとき。
前提条件
- CloudWatch + CloudFormation の読み取り権限を持つ AWS 認証情報 —
aws sso loginで ReadOnlyAccess マネージドポリシーを持つロールを使用 - aws-cloudwatch-mcp サーバーが起動していること —
uvx awslabs.cloudwatch-mcp-server— またはバンドルをインストール
フロー
-
アラームの詳細と影響を受けるリソースを取得するDescribe CloudWatch alarm 'prod-api-5xx-high'. What resource does it watch, what threshold, what's the current state?✓ コピーしました→ アラーム設定と状態履歴(いつ切り替わったか)
-
閾値超過前後のログをクエリするRun a Logs Insights query over the /aws/ecs/prod-api log group from 10 minutes before the alarm fired until now. Find ERROR-level log lines grouped by message template.✓ コピーしました→ エラーテンプレートの上位とカウント
-
直近のデプロイと相関させるList CodeDeploy deployments to the prod-api service in the last 6 hours. Does any deploy time correlate with the error spike?✓ コピーしました→ エラー発生時刻と並べたデプロイのタイムライン
結果: 「14:22 UTC のデプロイ abc123 が 14:23 の 5xx 発生と相関している」のような具体的な仮説と、それを裏付けるエビデンス。
注意点
- 時間ウィンドウを指定せずに大きなログループに Logs Insights クエリを実行すると、実際のコストが発生する — 常に
@timestampの範囲を1時間未満に絞ること。MCP は高額な請求を防止しません - クロスアカウントリソースには適切な認証プロファイルが必要 — サーバー起動ごとに
AWS_PROFILE環境変数を設定すること。デフォルトプロファイルが目的のものとは限りません