がらくたネット


fluentd

fluentd

fluentdはオープンソース、initスクリプトがなかったりサポートがなかったり…
td-agentが安定版としてrpm/debのパッケージがある
名称が異なるのですね

前提条件

NTPをセットアップして時刻を正確にしてね。だってログを扱うから。
ulimit -nで戻り値が1024以下なら設定を変更してね

vi /etc/security/limits.conf

root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
kernelパラメタ設定してね
vi /etc/sysctl.conf

net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuser = 1
net.ipv4.ip_local_port_range = 10240 65536

インストール

すごいんだ。ワンライナーなんだ
ついでに関連rubyをアップデートしとく

curl -L http://toolbelt.treasure-data.com/sh/install-redhat.sh | sh
chkconfig td-agent on
/usr/lib64/fluent/ruby/bin/fluent-gem update

fluentd(td-agent)はプラグイン形式になってて機能追加可能

/usr/lib/fluent/ruby/bin/fluent-gem install <plugin name>

/usr/lib/fluent/ruby/bin/fluent-gem install fluent-plugin-s3
/usr/lib/fluent/ruby/bin/fluent-gem install fluent-plugin-forest
/usr/lib/fluent/ruby/bin/fluent-gem install fluent-plugin-config-expander

設定

設定は/etc/td-agent/td-agent.conf
元々存在しているファイルはサンプルと同一
なので、一度削除してから新規で作成した方がよいと思われる

messagesやapacheのログファイルをtd-agentに投げる場合 td-agentはtd-agentというユーザ・グループ権限で動作している。 なので、この権限でログファイルが読み取れる必要あり

chgrp td-agent /var/log/messages
chgrp td-agent /var/log/httpd
chmod g+rx /var/log/messages
chmod g+rx /var/log/httpd