CloudWatch Logs

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

John Q. Martin

Principal Consultant

主要概念:ログイベント、ストリーム、グループ

  タイムスタンプ・メッセージ・取り込み時刻を含む1件のレコードとして表示されたログイベント

  単一ソースからの一連のログイベントとして表示されたログストリーム

  保持期間とアクセス設定を共有する関連ログストリームのコレクションとして表示されたロググループ

 

  • /aws/lambda/function-name
  • /ecs/cluster-name/service-name
  • /var/log/application-name
AWS のモニタリングとトラブルシューティング

CloudWatch Logs アーキテクチャ

アプリケーションエージェントからロググループ・ストリーム、クエリ・エクスポート・サブスクリプションまでのCloudWatch Logsアーキテクチャ

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

CloudWatch ログと従来のロギングの比較

CloudWatchの集中ロギングと従来のサーバーごとのSSH・grepロギングの比較

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

統合エージェントのセットアップ:EC2

 

IAMロールからインストール・設定・起動までのEC2上のCloudWatch統合エージェント4ステップセットアップフロー

{
  "logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/var/log/application.log",
            "log_group_name": "/aws/ec2/application",
            "log_stream_name": "{instance_id}",
            "timezone": "UTC"
          }
        ]
      }
    }}}
AWS のモニタリングとトラブルシューティング

Lambda と ECS のロギング

 

Lambda:エージェント不要

  • /aws/lambda/function-name に自動でログを記録
  • 呼び出し、実行時間、stdout/stderr、エラーを記録
  • クエリを簡単にするために構造化 JSON を使用

 

{
  "logDriver": "awslogs",
  "options": {
    "awslogs-group": "/ecs/my-application",
    "awslogs-region": "us-east-1",
    "awslogs-stream-prefix": "ecs",
    "awslogs-create-group": "true"
  }
}
AWS のモニタリングとトラブルシューティング

メトリクスフィルター入門

 

メトリクスフィルターとは?

  • ログイベントのパターンをスキャンし、CloudWatch メトリクスを発行
  • ログとメトリクスをつなぐ橋渡し役
  • ロググループに対して作成

 

ユースケース

  • エラー発生回数のカウント
  • ログからのレスポンスタイム追跡
  • ビジネスイベントの監視(注文、サインアップ)
  • ログパターンからアラームへの連携
AWS のモニタリングとトラブルシューティング

フィルターパターンの構文

 

シンプルテキスト・スペース区切りフィールド・JSONドットノテーションの3つのメトリクスフィルターパターン形式

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

メトリクスフィルターの推奨プラクティス

 

メトリクスフィルターの推奨プラクティス:パターンのテスト、デフォルト値ゼロの設定、名前空間のグループ化、パターンのシンプル化

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

CloudWatch Logs Insights 入門

 

Log Insights とは?

  • CloudWatch Logs 内のインタラクティブなクエリサービス
  • 1つまたは複数のロググループを同時にクエリ可能
  • 数秒で結果を取得、インフラ管理は不要

 

対応するクエリ言語(3種類)

  • CloudWatch Logs Insights QL
  • OpenSearch PPL (Piped Processing Language)
  • OpenSearch SQL
AWS のモニタリングとトラブルシューティング

まとめ

 

  • CloudWatch Logs:ログイベント → ストリーム → グループによる集中ロギング
  • EC2:JSON 設定を使った統合エージェント
  • Lambda:自動ロギング、エージェント不要、構造化 JSON ロギングを推奨
  • ECS:タスク定義内の awslogs ログドライバー
  • メトリクスフィルター:ログパターンから CloudWatch メトリクスを抽出
  • Log Insights:インタラクティブなクエリサービス(クエリの詳細はビデオ4で解説)
AWS のモニタリングとトラブルシューティング

練習しましょう!

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

Preparing Video For Download...