fluentdのインストール

最近は、ログ収集が流行しています。
1年前ぐらいにfluentdをちょこっと使う機会があったので、そのときはあれこれと調査していたのですが微妙にいろいろなところで躓きながら設定したことを覚えています。
そんなわけで、1年ぶりにfluentdに再挑戦したので備忘録として記載しておきます。

インストール前の事前設定

今回はAWS上で環境を構築してみます。まず、インスタンスを新しく作成します。
RPM版での導入をする際に「Amazon Linux」でうまくインストールができなかったので、今回はAWSマーケットプレイスから「CentOS 6.5 (x86_64)」を選択してインストールすることとします。

起動したら、早速インストールの開始です。
インストールの前にfluentdのサイトに書いてあるようにファイルディスクリプタとネットワークのカーネルパラメータの変更を行います。設定後に値を反映するためにリブートが必要です。

ファイルディスクリプタの値を変更

/etc/security/limits.conf に下記を追加します。

root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536

カーネルパラメータの最適化

/etc/sysctl.conf に以下を追加します

net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240    65535

fluentdのインストール

事前作業が完了すれば、いよいよインストールです。
RPMリポジトリを登録するシェルスクリプトが準備されているので、このスクリプトを下記のように実行します。

RPMリポジトリを登録

curl -L http://toolbelt.treasuredata.com/sh/install-redhat.sh | sh

これで、サクッとfluentdがインストールされます。簡単です。

サービスで実行するために下記を設定すれば、もうfluentdが動いています。
前からこんなに簡単だったっけ?
簡単になったのは最近なのかな?と言ううちに環境ができてしまいました。

サービスの起動設定

chkconfig td-agent on
service td-agent start