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