読者です 読者をやめる 読者になる 読者になる

tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

td-agentの導入簡易まとめ

td-agent導入のまとめをさらっと見たい自分用のメモ

補足

そんなにテクニカルでも有用でもないカモですがこちらにメモまとめをメモっておきました
td-agent(fluentd)を本番サ―ビスで小さく使ってみたメモ-まとめ

ダウンロード

下記のURLから好きなバージョンのtd-agentとtd-libyamlをダウンロード

# cd /usr/local/src
# sudo wget http://packages.treasure-data.com/redhat/x86_64/td-agent-1.1.17-0.x86_64.rpm
# sudo wget http://packages.treasure-data.com/redhat/x86_64/td-libyaml-0.1.4-1.x86_64.rpm

インストール

# sudo yum localinstall td-agent-1.1.17-0.x86_64.rpm td-libyaml-0.1.4-1.x86_64.rpm

インストールされる先、設定ファイル、ログ場所とか

起動スクリプト

/etc/init.d/td-agent

設定ファイル(source、match、include)

/etc/td-agent/td-agent.conf

ログ

/var/log/td-agent/td-agent.log

pidの確認
# cat /var/run/td-agent/td-agent.pid
20005%

# ps aux | grep td-agent
td-agent 20005  0.0  0.1 217080 21376 ?        Sl   Dec06   0:00 /usr/lib64/fluent/ruby/bin/・・・省略・・・/td-agent.pid
td-agent 20008  0.0  0.4 275140 52696 ?        Sl   Dec06   3:23 /usr/lib64/fluent/ruby/bin/・・・省略・・・/td-agent.pid

# sudo /etc/init.d/td-agent status
td-agent (pid  20005) を実行中...

※ポート24224使用の場合
# sudo lsof -i:24224
COMMAND   PID     USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
ruby    19270 td-agent    7u  IPv4 66275835      0t0  TCP *:24224 (LISTEN)
ruby    19270 td-agent    8u  IPv4 66275838      0t0  UDP *:24224

※ps auxではプロセスが2つあるのは、tcpudp

バンドルされたruby

/usr/lib64/fluent/ruby

起動スクリプトオプション

オプション 内容
start 起動
stop 停止
restart 再起動
status ステータス表示
reload config再読み込み

プラグイン

インストール
# /usr/lib64/fluent/ruby/bin/gem install プラグイン
プラグインの検索

以下のページで直接見る

http://fluentd.org/plugin/

か、コマンドで検索

# sudo /usr/lib64/fluent/ruby/bin/gem search -rd fluent-plugin | less

デバッグモードにする

起動スクリプトを編集してデバッグモードにする

# sudo vi /etc/init.d/td-agent
----
TD_AGENT_ARGS="${TD_AGENT_ARGS-/usr/sbin/td-agent --group td-agent --log /var/log/td-agent/td-agent.log}" 
↓
#TD_AGENT_ARGS="${TD_AGENT_ARGS-/usr/sbin/td-agent --group td-agent --log /var/log/td-agent/td-agent.log}" 
TD_AGENT_ARGS="${TD_AGENT_ARGS-/usr/sbin/td-agent --group td-agent --log /var/log/td-agent/td-agent.log -vv}" 

ファイルディスクリプタの最大数を増やす

起動スクリプトを編集
適当なところに下記の記述を追加

# sudo vi /etc/init.d/td-agent
----
ulimit -n 65536
----

ポート解放

# sudo vi /etc/sysconfig/iptables
 ----
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 24224 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 24224 -j ACCEPT

※↓の動作確認で8888使うとき
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8888-j ACCEPT
 ----

# sudo /etc/init.d/iptables restart

動作確認

# curl -X POST -d 'json={"json":"test no message"}' http://localhost:8888/debug.test

# cat /var/log/td-agent/td-agent.log
 ----
※こんな感じでログが出てる
2013-12-19 19:23:24 +0900 debug.test: {"json":"test no message"}
 ----