CentOSにFluentdをインストールしてみる
VirtualBoxにCentOSをとりあえずインストール
の続き
CentOSにFluentdをインストールしてみる。
sudoが面倒なのでrootになる。
$ su -
インストール
インストールにcurlを使うので、無ければインストールしておく。
# yum -y install curl
Fluentd(td-agent)をインストールする。
# curl -L http://toolbelt.treasuredata.com/sh/install-redhat.sh | sh
起動する。自動で起動するようにもしておく。
# service td-agent start # chkconfig td-agent on
ApacheのアクセスログをFluentdでファイルに記録してみる
まずApacheをインストールする。
# yum -y install httpd # service httpd start # chkconfig httpd on
permissionを変更する。
# chmod 755 /var/log/httpd
変更しないと Permission denied - /var/log/httpd/access_log のエラーになる
td-agent.confを下記のように書き換える。
# vi /etc/td-agent/td-agent.conf <source> type tail path /var/log/httpd/access_log pos_file /var/log/td-agent/access_log.pos format apache2 tag apache.access </source> <match apache.access> type file path /var/log/td-agent/httpd/access_log </match>
pos_fileは、読み込み位置を記録するために指定しておく必要があるみたい。 【参考】 Fluentd tail plugin のお話 (pos_file の指定はお忘れなく) | COLOPL Engineers' Blog | 株式会社コロプラ【スマートフォンゲーム&位置ゲー】 http://colopl.co.jp/tech/blog/2012/05/1808/
td-agentをリロードして、設定を反映させる。
# service td-agent reload
以上で、
httpd://サーバーのアドレス/
にアクセスすると、
ログが出力される。
# cat /var/log/td-agent/httpd/access_log.20140501.b4fabf625ddaa88f5 2014-05-01T14:16:42+09:00 apache.access {"host":"192.168.56.1","user":null,"method":"GET","path":"/","code":403,"size":5039,"referer":null,"agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 FirePHP/4Chrome"}
【参考】 柔軟なログ収集を可能にする「fluentd」入門 - さくらのナレッジ - Part 3 http://knowledge.sakura.ad.jp/tech/1336/3/ fluentdを試してみた - wyukawa’s blog http://d.hatena.ne.jp/wyukawa/20120207/1328625443