ToC
インストール前の事前設定
最近は、ログ収集が流行しています。 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
[amazon_link asins=‘477419218X,B00MPDUQQI,B00J4KDYZU,B01M4KNOFM’ template=‘ProductCarousel’ store=‘lunalab-22’ marketplace=‘JP’ link_id=‘eada9b89-9117-11e7-9bbc-6f2e4051c852’]