5.8. ログ管理

5.8.1. Overview

本ガイドラインでは、AWS連携でログ管理を実現するための方法を ログ管理 に則って示す。

5.8.1.1. ログ管理の構成

AWS連携では、ログ収集管理ツールとして、CloudWatch LogsCloudWatch Logs エージェントを組み合わせて利用する。 AWSのサービスを利用した構成を以下に示す。 CloudWatch Logsについては、Amazon CloudWatch Logs の概念を参照されたい。

Screen image of LogManagement.
項番 説明
(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 Framework for Java (5.x) Development Guidelineの「ロギング」に記載している方法をそのまま使用できる。


5.8.2.1. 環境構築

CloudWatch Logs エージェントのインストール及び設定や、どのようなファイルローテーションがサポートされているかなどについては、CloudWatch Logs エージェントのリファレンスを参照されたい。

Note

CloudWatch上でログを確認する際に、ログの識別を行うための、log_group_nameでグループ分けを行い、障害発生時の障害発生インスタンスを特定するために、log_stream_nameでinstance_idなど設定することが望ましい。

Note

本ガイドラインで説明する方法以外にも、ログ管理の方法として 統合CloudWatchエージェントが存在する。 詳細は、 CloudWatch エージェントのリファレンスを参照されたい。


5.8.2.2. 制限事項

CloudWatch Logsを使用する上で、いくつかの制限が存在する。詳細は、CloudWatch Logs の制限を参照されたい。


5.8.2.3. ログデータの表示

CloudWatchを使用したログの確認方法の詳細は、ロググループとログストリームを操作するを参照されたい。


5.8.3. How to extend

本ガイドラインでは、監視やバックアップ、リアルタイム分析を行う場合の方法について示す。


5.8.3.1. ログデータの監視

ログデータの検索およびフィルタリングを行い、エラー発生時などにアラームを設定して通知する方法の詳細は、ログデータの検索およびフィルタリングを参照されたい。


5.8.3.2. ログデータのバックアップ

別途バックアップが必要な場合は、ログデータを一括で Amazon S3 にエクスポートするを参照されたい。