このエントリはFluentd Advent Calendar 2015の12月25日分の記事です。4日遅れ!
で、本題ですが、もうタイトルそのまんま、logstash-output-fluentd を作りました。
logstash-output-fluentd | RubyGems.org | your community gem host
tagomoris/logstash-output-fluentd · GitHub
How to install / use
先日書いたものと全く一緒ですが、いちおう書いておきます。
とりあえずインストール。
$ bin/plugin install ../logstash-output-fluentd-0.1.0.gem Uninstalling logstash-output-fluentd Validating ../logstash-output-fluentd-0.1.0.gem Installing logstash-output-fluentd Installation successful
そしたら以下の設定ファイルを用意します。stdinから読み込んで 127.0.0.1 (のデフォルトポート 24224)に送るやつ。
input { stdin {} } output { fluentd { host => "127.0.0.1" tag => "logstash" } }
起動すればもう使えます。簡単ですね!
$ bin/logstash -f example.conf Settings: Default filter workers: 2 Logstash startup completed line 1 line 2 line 3 line 4
Yay!
注意点など
まだごくシンプルに指定したホストの in_forward に向けてデータを投げ付けるだけですが、まあ、使えなくもないかなというところです。Fluentdのforwardプロトコルにはいろいろと機能があるんですが、そのへんやover SSL*1やらはまだ全くしておりません。また複数ホストへのロードバランスやら死活確認(つまりHA)やらも対応しておりません。
そのうちやろうかなあ、どうしようかなあ。
バッファは logstash-output-treasure_data と同じでオンメモリに適当に持っているだけです。デフォルトは短めで50イベントもしくは5秒。これも flush_size および flush_interval で制御できます。正常にシャットダウンすればflushされるけどその時に失敗したり異常終了したりしたらイベントが失われるのも同じです。
まとめ
Enjoy logging!
*1:つまりin_secure_forward対応