5.8. ログ管理¶
目次
5.8.1. Overview¶
本ガイドラインでは、AWS連携でログ管理を実現するための方法を ログ管理 に則って示す。
5.8.1.1. ログ管理の構成¶
AWS連携では、ログ収集管理ツールとして、CloudWatch LogsとCloudWatch Logs エージェントを組み合わせて利用する。 AWSのサービスを利用した構成を以下に示す。 CloudWatch Logsについては、Amazon CloudWatch Logs の概念を参照されたい。
項番 説明 (1) 指定されたアプリケーションのログを監視してデータを取得する。 (2) 取得したログデータを転送する。 (3) バックアップなどの必要であれば、集約したログデータをS3に保存する。 (4) CloudWatch以外の監視ツールや可視化ツールなどと連携するために必要であれば、集約したログデータをElasticsearchに連携する。Warning
CloudWatch Logs Agentの遅延は最大でbuffer_durationで設定した値(最小値は 5000ms で、デフォルト値は 5000ms )なので、 インスタンス障害時などは最大で5000msのログデータがロストする可能性がある。 また、Auto Scalingの際のインスタンス破棄は、5秒後以降に実施されるように設定することで、ロストすることなくログを監視することが可能である。
5.8.2. How to use¶
AWS環境での使用方法を示す。AWSのログ収集の仕組みは、ファイルシステムに出力されたログを別プロセスであるエージェントが監視収集する方法である。ゆえに、ログ出力の方法自体は Macchinetta Server Framework for Java (1.x) Development Guidelineの「ロギング」に記載している方法をそのまま使用できる。
5.8.2.1. 環境構築¶
CloudWatch Logs エージェントのインストール及び設定や、どのようなファイルローテーションがサポートされているかなどについては、CloudWatch Logs エージェントのリファレンスを参照されたい。
Note
CloudWatch上でログを確認する際に、ログの識別を行うための、log_group_nameでグループ分けを行い、障害発生時の障害発生インスタンスを特定するために、log_stream_nameでinstance_idなど設定することが望ましい。