fluent をインストールする

http://fluentd.org/doc/

インストール

CentOS5.5 に今回は gem でインストールする。
rvm で ruby 1.9.3 をインストール済み。

$ gem install fluentd

で、インストール完了。

インストール後の gem はこんな感じ。

$ gem list

*** LOCAL GEMS ***

bundler (1.0.21 ruby)
cool.io (1.0.0)
fluentd (0.10.8)
http_parser.rb (0.5.3)
iobuffer (1.0.0)
json (1.6.3)
msgpack (0.4.6)
rake (0.9.2.2, 0.9.2)
yajl-ruby (1.0.0)

設定

$ fluentd --setup ./fluent
Installed ./fluent/fluent.conf.

上記コマンドを実行することで fluent というディレクトリと
その中に雛形の設定ファイル fluent.conf と plugin ディレクトリが生成される。

fluent ----- fluent.conf
        └-- plugin


生成された設定ファイル fluent.conf の中を見てみる。

$ cat ./fluent/fluent.conf

## built-in TCP input
## $ echo <json> | fluent-cat <tag>
<source>
  type forward
</source>

# HTTP input
# http://localhost:8888/<tag>?json=<json>
<source>
  type http
  port 8888
</source>

## match tag=debug.** and dump to console
<match debug.**>
  type stdout
</match>

source は入力の設定を記述する。
match はタグが一致した場合の設定を記述する。


動作確認

デフォルトの設定ファイルを使って動かしてみる。


起動

$ fluentd -c ./fluent/fluent.conf -vv &


確認

fluent-cat で入力。

$ echo '{"json":"message"}' | fluent-cat debug.test
2011-12-15 18:43:53 +0900 debug.test: {"json":"message"}

http で入力。

$ curl http://localhost:8888/debug.test?json=%7B%22aaa%22%3A%22bbb%22%7D
2011-12-15 18:46:34 +0900 debug.test: {"aaa":"bbb"}

"debug.test" はタグ。にマッチするので標準出力される。

アップデート

fluent を最新のバージョンにアップデートする。

$ fluent-gem install fluentd