CloudWatch LogsをCLIで確認する方法

CloudWatchのログを確認する際、ブラウザのUIだと思うように操作できないと感じたため、CLIからCloudWath Logsを確認する方法を調べました。

aws logsコマンド

aws logs filter-log-eventsというコマンドを使います。

1aws logs filter-log-events \
2    --log-group-name '' \
3    --start-time '' \
4    --end-time '' \
5    --filter-pattern 'mogumogu' \
6    --query 'events[]' \
7    --output json | awk '{ $1 = ""; print }'

–outputはtext形式も選べます。json形式ならjqなどでフィルタリングしやすいという利点があるので、用途に応じて調整します。

aws logsコマンドを使ったシェルスクリプト

時間の指定が大変なので、シェルスクリプトなどで自動化すると捗ると思います。

 1#!bih/sh
 2start="2023-07-18T19:47:00+0900"
 3end="2023-07-18T19:48:00+0900"
 4start_time=$(expr `date -j -f %FT%T%z ${start} +%s` \* 1000)
 5end_time=$(expr `date -j -f %FT%T%z ${end} +%s` \* 1000)
 6log_group_name='hogehoge'
 7aws logs filter-log-events \
 8  --log-group-name ${log_group_name} \
 9  --start-time ${start_name} \
10  --end-time ${end_time} \
11  --filter-pattern 'mogumogu' \
12  --query 'events[]' \
13  --output json | awk '{ $1 = ""; print }'