AWS
Docker
ECS
docker-compose

ECS -> CloudWatch logsのログをローカルでみる

More than 1 year has passed since last update.


なぜ 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
ログの時間範囲指定(終了)

よく使いそうなものはこの辺りですかね。