CloudWatchLogs
Amazon CloudWatch Logs を使用して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、AWS CloudTrail、Route 53、およびその他のソースのログファイルの監視、保存、アクセスができます。 その後、CloudWatch Logs から、関連するログデータを取得できます。
メリット
- 5分でログ出力まで確認できるぐらい導入が容易。
- 設定内容がシンプル。
- 保存期間が柔軟。(失効しないも可)
- S3にエクスポートできる。
- オートスケールも対応可。
IAM
下記のキーが必要になりますので、IAMユーザを作成して取得しましょう。
既存のCloudWatchLogsFullAccess権限を付ければ動かせます。
aws_access_key_id
aws_secret_access_key
インストール
エージェントを入れます。
$ yum install -y awslogs
次に認証情報を設定します。
IAMで取得したキーを設定しましょう。
/etc/awslogs/awscli.conf
[plugins]
cwlogs = cwlogs
[default]
region = ap-northeast-1
aws_access_key_id = {aws_access_key_id}
aws_secret_access_key = {aws_secret_access_key}
ログ出力の設定をします。
awslogs.confの一番下に/var/log/messagesの設定がデフォルトで入っているので、
もし試したいだけならこのままでOKです。
デフォルト設定なら「/var/log/messages」グループの配下にインスタンス名のファイルが出力されていきます。
項目 | 内容 |
---|---|
file | 保存対象のファイル |
log_stream_name | ファイル名 |
log_group_name | グループ名 |
/etc/awslogs/awslogs.conf
[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /var/log/messages
サーバ起動時に自動で起動するように設定してスタートします。
すぐに反映されるので、CloudWatchの左側のメニューにある「ログ」を見てみてください。
$ chkconfig awslogs on
$ service awslogs start
最後に
fluentdも便利ですが、単純にログ保存だけならこれで事足りますし、
何より設定がほとんどなくて簡単に使えるので、用途に合ってる場合はどんどん使っていきましょう。