CloudWatch Logs のログを API 経由でリアルタイムに取得できるようになりました

手元の環境でもリアルタイムにログの確認が可能となります。
2023.12.14

こんにちは、森田です!

以下で Amazon CloudWatch Logs Live Tail の ストリーミング API がサポートされるアップデートがありました。

Amazon CloudWatch Logs Live Tail とは

リアルタイムで Amazon CloudWatch Logs のログ確認ができるサービスとなります。

従来までは、以下のようにAWSマネジメントコンソールに入ることでリアルタイムなログの確認ができていました。

今回のアップデートによって、AWSマネジメントコンソールに入らずとも、手元の環境でもリアルタイムにログの確認が可能となります。

本記事では実際に CloudWatch Logs Live Tail を API (AWS CLI)から使ってみます。

やってみた

前提条件

本記事では、AWS CLI v2 を使って実行を行います。

aws-cli/2.14.5

また、 AWS Lambda をコンソールから作成して以下のロググループにログ出力できるようにします。

/aws/lambda/cw-sample

AWS CLI の実行

AWS CLI の場合は、aws logs tailで実行することが可能です。

aws logs tail ロググループ名

実行する際のオプションとして、--followがあります。

このオプションでは、新しいログを継続的にポーリングするかどうかを指定することが可能となっています。

オプションなし

オプションを指定しない場合は、過去 10 分前のデータを表示のみ行い、実行終了となります。

aws logs tail /aws/lambda/cw-sample

実行結果

$ aws logs tail /aws/lambda/cw-sample
2023-12-14T13:06:06.587000+00:00 2023/12/14/[$LATEST]xxxx INIT_START Runtime Version: python:3.11.v25	Runtime Version ARN: arn:aws:lambda:ap-northeast-1::runtime:a3304f2b48f740276b97ad9c52a9cc36a0bd9b44fecf74d0f1416aafb74e92fc
2023-12-14T13:06:06.701000+00:00 2023/12/14/[$LATEST]xxxx START RequestId: 2134c1ca-0498-420e-aa9b-17e26ce1de6c Version: $LATEST
2023-12-14T13:06:06.704000+00:00 2023/12/14/[$LATEST]xxxx END RequestId: 2134c1ca-0498-420e-aa9b-17e26ce1de6c
2023-12-14T13:06:06.704000+00:00 2023/12/14/[$LATEST]xxxx REPORT RequestId: 2134c1ca-0498-420e-aa9b-17e26ce1de6c	Duration: 1.25 ms	Billed Duration: 2 ms	Memory Size: 128 MB	Max Memory Used: 40 MB	Init Duration: 112.74 ms
$

オプションあり

オプションありの場合は、ポーリングを行うため、ログをリアルタイムに表示することが可能です。

aws logs tail /aws/lambda/cw-sample --follow

最後に

Amazon CloudWatch Logs をリアルタイムで手元で確認できる非常に便利なアップデートとなっています。

開発時などログを素早く確認したい際には、積極的に活用したいですね。

なお、Live Tail では、実行している時間での従量課金が発生するため、CLIから実行したままにならないようにくれぐれもご注意ください。