A Day in the Life

fluent / fluentd のプラグインの書き方例

fluent / fluentd のプラグインの書き方例

僕はこうやって実装・テストしてます。

例えば fluent-plugin-mongo (output plugin)を UnitTest 以外で弄りたかったら適当なディレクトリを掘って Gemfile に

source "http://rubygems.org"

gem "fluentd", :git => "git://github.com/fluent/fluentd.git", :branch => "master"
gem "fluent-plugin-mongo", :path => "/home/hotchpotch/git/github/fluent-plugin-mongo" # ローカルを参照
gem "bson_ext"

を書いて fluent.conf に適当な設定を用意して

bundle
bundle update # fluentd の master branch のアップデートをしたい時は実行
bundle exec fluentd -c fluentd.conf

で fluentd を直接立ち上げてあれこれします。設定ファイルのリロードは SIGHUP を送ります

pkill -HUP -f fluentd

buffered plugin のバッファを送信するには

pkill -USR1 -f fluentd

で SIGUSR1 を送るか

# 短い間隔で送る
flush_interval 1s

とかを設定ファイルに書いておきます。

また自分ががっつりかかわってるプラグインなら実際の fluentd を起動し、インテグレーションテストで開発してます。

を参考にどうぞ。

記事の一覧 >

関連するかもエントリー

fluentd を使った大規模ウェブサービスのロギング
先月行われた Fluentd meetup in Japanというイベントで発表してきました!一ヶ月前だけどエントリーにするの忘れていたので、今更ながらエントリーに。fluentd を利用した大規模ウェブサービスのロギングView more presentations from ...
先月行われた Fluentd meetup in Japanというイベントで発表してきました!一ヶ月前だけどエントリーにするの忘れていたので...
Ruby のバイナリが prelink により毎朝4時に壊れてセグフォになる
Ruby のバイナリが prelink により毎朝4時に壊れてセグフォになるtd-agent.rpm (fluentd の rpm)はパッケージ内に自分で使う Ruby を /usr/lib64/fluent/ruby/bin/ruby にもっている。td-agent の rpm...
Ruby のバイナリが prelink により毎朝4時に壊れてセグフォになるtd-agent.rpm (fluentd の rpm)はパッケ...
2010-10-12
最近の vim の plugin 管理最近 ~/.vim/ 以下をいったん全部削除して入れ直した secondlife ですこんばんは。ついでに .vim の管理も svn から git に今更しました。で、今までは plugin をふつーにどばーと入れていたんだけど、githu...
最近の vim の plugin 管理最近 ~/.vim/ 以下をいったん全部削除して入れ直した secondlife ですこんばんは。つい...