CloudWatch

AWS のモニタリング・ログ管理サービスで、メトリクス収集、ログ分析、アラートを提供する

AWSオブザーバビリティ

CloudWatch とは

Amazon CloudWatch は、AWS リソースとアプリケーションのモニタリング・ログ管理サービスで、メトリクス収集、ログ分析、アラート、ダッシュボードを提供する。

3 つの機能

CloudWatch は大きく 3 つの機能で構成される。CloudWatch Metrics は CPU 使用率やエラー数などの数値データを時系列で収集する。CloudWatch Logs はアプリケーションやインフラのログを収集・検索・分析する。CloudWatch Alarms はメトリクスが閾値を超えた際にアラートを発報する。

Lambda のメトリクス

メトリクス 説明
Invocations 呼び出し回数
Duration 実行時間
Errors エラー数
Throttles スロットリング数
ConcurrentExecutions 同時実行数

CloudWatch Logs Insights

-- Lambda のエラーログを検索
fields @timestamp, @message
| filter @message like /ERROR/
| sort @timestamp desc
| limit 20

-- レスポンスタイムの統計
fields @duration
| stats avg(@duration), max(@duration), p95(@duration) by bin(5m)

アラーム

CloudWatch Alarms はメトリクスが閾値を超えた際に SNS トピックへ通知を送る。Lambda のエラー数が 5 分間で 5 回を超えたらアラートを発報する、といった設定が可能。

カスタムメトリクス

CloudWatch にアプリケーション固有のメトリクス (注文数、処理時間など) を送信できる。Lambda Powertools の Metrics モジュールを使うと、Embedded Metrics Format で効率的にメトリクスを出力できる。

ダッシュボード

CloudWatch ダッシュボードで Lambda のエラー率、レイテンシ、DynamoDB のスロットリングを一覧表示する。

コスト最適化

対策 効果
ログの保持期間を設定 古いログを自動削除
メトリクスフィルターを使う 全ログを保存せず必要な情報だけ抽出
Embedded Metrics Format カスタムメトリクスのコスト削減

実践的な知識は関連書籍でも得られる。

関連用語