[アップデート] AWS Elastic Beanstalk コンソールから CloudWatch Logs のログイベントを直接閲覧できるようになりました
いわさです。
AWS Elastic Beanstalk では、環境内の EC2 インスタンスのログを CloudWatch Logs にストリーミングする機能が提供されています。
ログストリーミングを有効にすると、アプリケーションログや Web サーバーログがリアルタイムに CloudWatch Logs のロググループへ送信されます。
これまで、ストリーミングされたログを確認するには CloudWatch コンソールに移動して該当のロググループやログストリームを探す必要がありました。
Elastic Beanstalk のロググループは /aws/elasticbeanstalk/<環境名>/var/log/... のような命名規則になっているため、慣れていれば探すことは出来ますが、一旦 Elastic Beanstalk コンソールから離れる必要がありました。
先日のアップデートで、Elastic Beanstalk コンソールの Logs タブに CloudWatch Logs の統合機能が追加され、コンソールを離れずにログイベントを直接閲覧出来るようになりました。
アナウンスによると、Logs タブでは環境がログをストリーミングしているロググループと、aws/elasticbeanstalk/<env-name>/* プレフィックスに一致するロググループが表示されるとのこと。
The Logs tab displays log groups that an environment streams logs to, as well as log groups matching the aws/elasticbeanstalk/<env-name>/* prefix.
ロググループを選択するとログストリームの一覧が表示され、最近アクティブなストリームがデフォルトで選択されるようです。
また、より詳細な分析が必要な場合は CloudWatch コンソールへの直接リンクも用意されているとのことです。
For deeper analysis, a View in CloudWatch dropdown provides direct links to the log group, log stream, or CloudWatch Logs Insights in the CloudWatch console.
今回こちらを確認してみたので紹介します。
実際に確認してみる
では早速 Elastic Beanstalk コンソールから確認してみましょう。
まず、ログストリーミングが無効の状態で Logs タブを開いてみます。
タブ名に「新規」バッジが付いていますね。

ログストリーミングが無効な状態では「CloudWatch にストリーミングされた環境ログを表示するには、環境設定で CloudWatch ログストリーミングを有効にしてください。」というメッセージが表示されています。
従来の「リクエストログ」のセクションはそのまま残っており、今回追加された CloudWatch ログのセクションは上部に配置されているようです。
では、環境設定からログストリーミングを有効にしてみます。
環境の設定画面の「CloudWatch ログへのインスタンスログのストリーミング」セクションで「有効化」にチェックを入れます。

設定を適用して環境の更新が完了したら、再度 Logs タブを確認してみます。

「CloudWatch ログ (5)」というセクションが表示され、環境に関連するロググループの一覧が表示されました。
今回は .NET 10 プラットフォームの環境なので、eb-engine.log や nginx/access.log、web.stdout.log など 5 つのロググループが作成されています。
各ロググループの保存サイズ、保持期間、作成時刻が一覧で確認出来ます。
ロググループの検索ボックスも用意されているので、ロググループが多い場合にもフィルタリング出来そうですね。
次に、ロググループ名のリンクをクリックして中身を見てみます。

ロググループを選択すると「ログイベント」画面に遷移し、直近のアクティブなログストリームのイベントが表示されました。
パンくずリストで現在表示しているロググループのパスが確認出来ます。
画面上部には「ログストリーム」のドロップダウンがあり、別のストリームに切り替えることも出来ます。
また、「テキストでログイベントをフィルタリングする」検索ボックスでログの内容を絞り込むことも可能です。
右上に「CloudWatch で表示」ボタンが用意されており、ここから CloudWatch コンソールのロググループやログストリーム、CloudWatch Logs Insights に直接遷移することが出来ます。
Elastic Beanstalk コンソール上でざっと確認して、詳細な分析が必要であれば CloudWatch 側に移動する、という流れで使えそうですね。
さいごに
本日は AWS Elastic Beanstalk コンソールの Logs タブに CloudWatch Logs のログイベントを直接閲覧出来る機能が追加されたので確認してみました。
これまでは CloudWatch Logs のログを確認するために別のコンソールに遷移する必要がありましたが、Logs タブ内で完結出来るようになったのは地味に便利ですね。
ちょっとしたデプロイログの確認やエラーの切り分けであればわざわざ画面を移動しなくて済みますし、必要に応じて CloudWatch Logs Insights へのリンクからより詳細な分析に移れるのも良いです。







