Techfirm Cloud Architect Blog

テックファーム株式会社クラウドインフラグループのブログ

Amazon CloudWatch Logs Live Tail を試してみる

はじめに

先日、Amazon CloudWatch Logs Live Tailがリリースされました。

今までCloudWatch Logsのログをリアルタイムで見る場合にはマネジメントコンソールで手動でリロードを行ったり、別途ツールを作成する必要がありましたが、ログをほぼリアルタイムに追うことができるようになりました。
便利そうな機能なので試用してみたいと思います。
コストについては料金表を参照ください。

準備

過去のエントリーを参考に、ロググループ、ログストリームを作成しましょう。

ランダムにログを書き込むスクリプト(put-log-events.sh)を用意します。

#!/bin/sh

NUM=$(($RANDOM%2))

if [ ${NUM} -eq 0 ]; then
        LOGLEVEL="INFO"
else
        LOGLEVEL="ERROR"
fi

echo ${LOGLEVEL}
cat << EOF > event.json
[
  {
    "timestamp": `date +%s%3N`,
    "message": "{\"time\": \"`date '+%Y-%m-%d %H:%M:%S'`\", \"level\": \"${LOGLEVEL}\", \"message\": \"Test\"}"
  }
]
EOF

aws logs put-log-events \
--log-group-name /test-log-group \
--log-stream-name test-stream \
--log-events file://event.json 1> /dev/null

スクリプトを実行して、CloudWatch Logsにログイベントが投入されたことを確認して、ログを継続投入します。

$ while true;do bash ./put-log-events.sh;sleep 5;done

使ってみる

  • 利用開始
    CloudWatchコンソールのLive Tailを選択することで利用開始できます。
    個人的には、リアルタイムに見たいロググループや、ログストリームまで遷移した状態で、「テーリングを開始」ボタンを押下したほうが自動的に必要な情報が入力されるためわかりやすいと思います。

利用開始

  • Live Tail
    Live Tail画面では、自動的にログイベント待機中となり、ログをほぼリアルタイムに追うことができます。

Live Tail画面

  • (オプション)強調表示
    上部のボックスに強調表示したい文字を記載すると、ログイベントの左側にマークが付きます。

強調表示

  • (オプション)フィルター
    フィルターパターンに文字をを入力すると表示から除外することもできます。
    たとえば、INFOが不要な場合は(-INFO)と入力します。

フィルター

あとがき

CloudWatch Logsに出力したログを簡単に、かつほぼリアルタイムに追うことができるようになりました。システム調査の際に有効活用したいですね。