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
コマンドを活用し、ログ監視を効率化しましょう!