AWS CloudWatch Logs のリアルタイム監視方法

AWS CloudWatch Logs は、Amazon ECS や EC2 などのログを収集・管理するためのサービスです。
特に Amazon ECS では、タスクやサービスのログを CloudWatch Logs に出力し、aws logs tail コマンドを使うことでリアルタイムでログを監視できます。
本記事では、aws logs tail コマンドを活用し、ECS のログを効率的に監視する方法について解説します。

aws logs tail コマンドの基本

AWS CLI の aws logs tail コマンドを使用すると、指定した CloudWatch Logs グループの最新ログをリアルタイムで取得できます。

基本構文

aws logs tail <ロググループ名> --follow
  • <ロググループ名>: 監視したい CloudWatch Logs のロググループ名
  • --follow: ログのストリーミングを継続するオプション

ECS のログをリアルタイム監視する

例えば、ECS の staging 環境で稼働している nginx, node, phpfpm のログを監視する場合、以下のコマンドを使用します。

aws logs tail /ecs/staging/nginx --follow
aws logs tail /ecs/staging/node --follow
aws logs tail /ecs/staging/phpfpm --follow

同様に、本番環境(production)のログを監視する場合は以下のように実行します。

aws logs tail /ecs/production/nginx --follow
aws logs tail /ecs/production/node --follow
aws logs tail /ecs/production/phpfpm --follow

複数のログを同時に監視する

複数のロググループを同時に監視する場合は、& を使ってバックグラウンドで実行できます。

aws logs tail /ecs/staging/nginx --follow &
aws logs tail /ecs/staging/node --follow &
aws logs tail /ecs/staging/phpfpm --follow &
wait

また、ターミナルを複数開くことで、各サービスのログを並行して監視することも可能です。

aws logs tail の便利なオプション

  • --format short: ログのフォーマットを短縮表示
  • --since 10m: 過去10分間のログを取得(例:--since 1h なら過去1時間分)
  • --filter-pattern "<キーワード>": 指定したキーワードを含むログのみ表示

例: 過去10分間の error を含むログのみ表示

aws logs tail /ecs/staging/nginx --since 10m --filter-pattern "error"

まとめ

  • aws logs tail を使えば ECS のログをリアルタイム監視可能
  • --follow を指定すると継続的にログを表示
  • --since--filter-pattern を活用すると、より柔軟なログ検索ができる
  • & を使えば複数のログを同時に監視可能

AWS CloudWatch Logs の aws logs tail コマンドを活用し、ログ監視を効率化しましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です