td-agent,fluent 2013 年 2 月 12 日

Webサーバの台数が多くなってくると、いつの間にかエラーを吐いていたりして状態を管理するのが難しくなってくる。(1台1台SSHでログインして、確認するにも限界がある。)

そこで複数のWebサーバ(apacheやnginx)のアクセスログやエラーログを一箇所に集めることで、効率的にプログラムがエラーをはいているのを管理することが可能になるfluentdを導入することに。

各Webサーバにfluentdをインストールして、ログ収集するサーバにはmongodbを用意。mongodbにデータが入るようにする。

複数のWEBサーバからのログが、収集するサーバ1台に集まってくるので、ハードディスクの容量とiowaitが発生しないよう書き込み速度・量に気をつける必要がある。
※mongodbのcapped設定が推奨されている。cappedとは?指定サイズに達したら、古いものから自動的に消されていく。

■インストール
http://help.treasure-data.com/kb/installing-td-agent-daemon/installing-td-agent-for-redhat-and-centos

vim /etc/yum.repos.d/td.repo
[treasuredata]
name=TreasureData
baseurl=http://packages.treasure-data.com/redhat/$basearch
gpgcheck=0

$ yum update
$ yum install td-agent
$ /etc/init.d/td-agent start

mkdir /var/log/fluent
chown td-agent:td-agent /var/log/fluent
chmod +x /var/log/httpd


type tail
format apache
path /var/log/httpd/access_log tag apache.access
pos_file /var/log/fluent/access.log.pos


type tail
format apache
format /^\[(?


type file
path /var/log/fluent/error_log

Fluentd tail plugin のお話 (pos_file の指定はお忘れなく)
http://colopl.co.jp/tech/blog/2012/05/1808/

http://d.hatena.ne.jp/fat47/20120426/1335428063
http://blog.glidenote.com/blog/2012/05/21/fluentd-nginx-mongodb/
http://ameblo.jp/nidbooks/entry-11240865520.html
http://dev.classmethod.jp/server-side/node-fluentd-mongodb/

関連する記事:

Leave a Reply