#fluentd fluentd(td-agent)構築時に気をつけるポイントについて[2012/3/26 追記あり]
結構既出な内容ですが、思いっきりハマったので改めて。
●fluentd→fluentdの通信時にfowardを使おうとしたらエラーになる。
※追記
VMwareの場合はこっちを参考に。fluentdじゃなくてVMwareの問題というパターンもあり。
http://d.hatena.ne.jp/oranie/20121107/1352298768
中間fluentdから最終的に集約するfluentdにfowardでログを送ろうとすると、始めはちゃんと送れるのに、ちょっとするとログにエラーが出ていた。もちろん集約先の方ではログ受信出来なくなっている。
failed to flush the buffer, retrying. error="no nodes are available"
もっと具体的にはこんなの。
で、理由は
@oranie 死活監視にUDPのほう使うらしいのでそっちも通さないといけないんです。知らなくて昔嵌りました
2012-03-22 21:17:07 via YoruFukurou to @oranie
今回はfluentdが別々のセグメントにあり、間のFWでTCPしか許可していませんでした。UDPも許可したら無事解決!今はドキュメントにも
forward input plugin listens TCP socket to receive event stream, and also listens UDP socket to receive heartbeat message.
としっかり記載して貰ったのでちゃんと読もうね!
●起動しようとしたらセグフォった・・・・・・・・ナニコレ・・・・
現象はそのまま。昨日までは・・・・何とも無かったのに・・・と。
/etc/init.d/td-agent restart Shutting down td-agent: [ OK ] Starting td-agent: <internal:lib/rubygems/custom_require>:29: [BUG] Segmentation fault ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] 〜〜 中略 〜〜 [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html /bin/bash: line 1: 13867 アボートしました/usr/sbin/td-agent --user td-agent --group td-agent --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid
で理由はこれ!
@oranie それはprelink問題ですね
2012-03-23 13:58:00 via YoruFukurou to @oranie
2012-03-23 13:58:47 via YoruFukurou to @oranie
インストール時に以下のファイルが生成されて本当は大丈夫なはずなんだけど、
cat /etc/prelink.conf.d/td-agent-ruby.conf -b /usr/lib64/fluent/ruby/bin/ruby -b /usr/lib/fluent/ruby/bin/ruby
一部のサーバで入っていなかったせいで破壊されたっぽい。
なので、上記の内容を/etc/prelink.confに追記してあげた。これで多分大丈夫なはず!
[2012/3/26]
td-agent v1.1.3.1でprelink.conf.d/が無くて書き込めなかった場合に、
prelink.confに追記するように修正されていました!ありがとうございます!
●その他諸々
tailする時に参照先や参照先のシンボリックリンクを生成したけど、td-agentユーザーが権限無くて読めないのでエラーになったりとかの凡ミスも良くやりました><
構築時にちょっと気を付ける所はあるけど、構築しちゃえばそんな事は忘れる!fluentd良いですね!
みんなもガンガン入れて色々教えて下さい!><