fluentd

install方法: 

参考:http://docs.fluentd.org/ja/articles/install-by-rpm

STEP1:インストール
redhat linuxにて下記コマンド実行でインストできる

注意:proxyサーバ経由の場合
 curl -U (ユーザ名):(パスワード) -x proxy.xxx.co.jp:(ポート) -L https://www.google.com
ただし、install-redhat.shの中にrpmコマンドとyumコマンドが実行されており、それぞれプロキシ経由でアクセスされる必要がある。
なので、プロキシ経由の場合、install-redhat.shを使わずに以下でinstallしたほうが早い。

1. /etc/yum.conf にproxyサーバ設定を定義
2./etc/yum.repos.d/td.repoに以下を追記


STEP2:起動

fluentdのログ=> /var/log/td-agent/td-agent.log

STEP3 動作確認

echo ‘{“hoge”:”fuga”}’ | /usr/lib64/fluent/ruby/bin/fluent-cat debug.test

Fluentdの標準プラグインにin_forwardというのがある。これは
TCPソケットを待ち受ける。 主に他のFluentdインスタンスfluentd-catコマンド、クライアントライブラリからの受信に用いられる。

上記STEP3にて動作確認でfluentd-catを使ったが、このforwardプラグインが内部的に使われてmatchディレクティブ先に書き込まれる仕組み

/etc/td-agent/td-agent.conf を開くと下記の記述がある


## match tag=debug.** and dump to console


<match debug.**>                 <ーーー上記STEP3のコマンドはこの定義にマッチし、stdout(標準出力)され、/var/log/td-agent/td-agent.log に書き込まれる。
type stdout
</match>

####
## Source descriptions:
##

## built-in TCP input

## @see http://docs.fluentd.org/articles/in_forward
<source>
type forward
</source>

/var/log/td-agent/td-agent.logを開くと下記の文言が記録されている。 時刻、タグ名(debug.test)、in_forwardプラグインで記録されたログ。
2014-10-04 22:14:38 +0900 debug.test: {“hoge”:”fuga”}
アクセスログのアクセス権限を変えておく
chmod o+rx /var/log/httpd
変えておかないと以下のエラーが/var/log/td-agent/td-agent.log にでる。
 [error]: Permission denied – /var/log/httpd/access_log

td-agent.conf の文法チェック

 
/etc/init.d/td-agent configtest
confに文法エラーがあれば出力してくれる。
 
プラグインの場所↓
/usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems

Fluentdの正規表現のチェックFluentdの設定する時に、ログフォーマットの正規表現作成に以下のサイトが役立つ

http://fluentular.herokuapp.com/

Regular Expressionに正規表現、Test Stringにログのサンプルを入力し
「Parse」をクリックすると、問題なければMatch Groupsに結果が表示される。
Formatに表示されているものを/etc/td-agent/td-agent.confにコピーする。