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 65536kernelパラメタ設定してね
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