fluentd で LTSV がサポートされたのでメモ
fluentd の v0.10.32 がリリースされました。
v0.10.32 では最近流行りの LTSV format がサポートされたとのことで、早速使ってみたメモです。 これまでは LTSV なログをパースするのに fluent-plugin-tail-labeled-tsv を使っていました。
今回は nginx のアクセスログをパースしてみます。
nginx の log format はよしなに設定してください。LTSV の公式ページに設定例があります。 パーマリンクを貼れないのが辛い...
fluentd の conf はこんな感じで。format
に ltsv
を指定するだけですね:
<source>
type tail
path /path/to/access_log
tag nginx.access
pos_file /tmp/nginx-access.log.pos
format ltsv
</source>
file output plugin で吐き出してみます:
<match nginx.access>
type file
path /tmp/fluentd-test.log
</match>
/tmp/fluentd-test.log:
2013-03-05T16:01:05+09:00 nginx.access {"time":"05/Mar/2013:16:01:05 +0900","host":"x.x.x.x","method":"GET","uri":"/","protocol":"HTTP/1.1","status":"200","size":"15726","referer":"-","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22","reqtime":"0.532","apptime":"0.532"}
ちゃんとパースされているみたいですね! 運用している fluentd をバージョンアップしていかなければ。 サポートに感謝です。