なぜ CloudWatch Logs?
ECSやFargateではログドライバとしてawslogsが用意されていて、非常に簡単にCloudwatch Logsへとログを出力できる。
以下はapiコンテナでログをcloudwatch logsに出力するdocker-composeの設定です。
logging:
driver: awslogs
options:
awslogs-group: ecs-api-log
awslogs-region: ap-northeast-1
awslogs-stream-prefix: api
やっぱりstaging環境や障害時はtail -fしながら見たいよ!
そんな貴方に朗報です。
awslogsと言うものが御座います。
1. install 方法
$ pip install awslogs
2. 使い方
$ awslogs get ecs-nginx-log --profile production_logs -S --timestamp -w
解説:
awslogs get <ロググループ名> --profile <AWS Profile名> -S timestamp -w
サブコマンド | 用途 |
---|---|
groups | CloudWatch Logsのロググループ名を表示 |
streams | CloudWatch Logsのストリーム名を表示 |
get | CloudWatch Logsのストリームに発生したイベントを表示 |
getのオプション | 説明 |
---|---|
-w | tail -f |
-S | ストリーム名を省略 |
--timestamp | ストリームが発生した時間を表示 |
-s | ログの時間範囲指定(開始) |
-e | ログの時間範囲指定(終了) |
よく使いそうなものはこの辺りですかね。