俺の備忘録

技術系を中心に日々忘れていく事柄を記録したい。。。

AWS EC2へFluentdのインストール

オートスケーリングで追加・削除されるサーバは不特定であるためログの収集もしくは、一定期間前のログが参照できなくなる可能性がある。そのような事態を回避するためにログを外部ストレージへ移動できないかと考えていました。

世の中、便利なものがあるようでしたのでそちらを参考に自分の問題も解消できるか検証してみました。

 

いろんなところで紹介されていますが、自分でもやってみたのでその備忘録。

目的: AutoScalingを使用しているサーバのログをS3へ保存したい。

対象OS: Amazon Linux

 インストール前に…

OS用アカウントにtd-agentユーザを作成

IAMユーザにtd-agentを作成(S3へのアクセス)

 

Fluentdのリポジトリを/etc/yum.repos.d/td.repoへ追加

 

[treasuredata]

name=TreasureData

baseurl=http://packages.treasure-data.com/redhat/$basearch

gpgcheck=0

 

 td-agentのインストール

$sudo yum install td-agent

1.1.11がインストールされました。

 

プラグインをインストール

プラグインは、以下のものをインストールしました。とりあえずは、ログを収集したいのでブログ等で紹介されているものをチョイスしました。

今後、自分に必要そうなものがあれば別途インストールしたいと思います。

 

※参考にした記事:http://dev.classmethod.jp/cloud/amazon-linux-fluentd-setup-plugin/

 

$sudo /usr/lib64/fluent/ruby/bin/gem update

$sudo /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-forest

$sudo /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-config-expander

$sudo /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-tail-multiline

 

ログ収集のために権限を変更

$sudo chgrp -R td-agent /var/log/nginx

$sudo chgrp -R td-agent /var/log/tomcat

$sudo chgrp -R td-agent /var/log/messages

$sudo chgrp -R td-agent /var/log/secure

$sudo chgrp -R td-agent /var/log/cron

 

$sudo chmod -R g+rx /var/log/nginx/

 

$sudo chmod -R g+rx /var/log/tomcat/

$sudo chmod -R g+rx /var/log/messages

$sudo chmod -R g+rx /var/log/secure

$sudo chmod -R g+rx /var/log/cron