たごもりすメモ

コードとかその他の話とか。

構造化ログ至上主義者への鉄槌 fluent-plugin-deparser をリリース! #fluentd

諸君!
昨今Fluentd界隈にて「構造化ログこそ至上、構造化ログで最初から出力すべし」との論が蔓延っているのを苦々しく思うプレーンテキストログ処理業者の諸君!

いまこそ我々は連中の思い上がりに対し、断固たる決意をもって鉄拳を振り下ろすべきである!

我々は今ここに不退転の決意をもって、連中の思い上がりを粉々に打ち砕くべき最強の一撃として fluent-plugin-deparser をリリースする!

tagomoris/fluent-plugin-deparser · GitHub
https://rubygems.org/gems/fluent-plugin-deparser

この強力無比なプラグインは、なんと設定皆無で完璧に動作することをここに限りない誇らしさとともに宣言する!

<source>
  type forward
</source>
<match in.**>
  type deparser
</match>
<match **>
  type stdout
</match>

このように設定した Fluentd を起動すれば、見よ! この完璧な結果を!

$ echo '{"status":200, "size":"3012", "path":"/file/1"}' | fluent-cat -h localhost in.test
$ echo '{"status":200, "size":"501", "path":"/file/2"}' | fluent-cat -h localhost in.test
$ echo '{"status":302, "size":"-", "path":"/file/3"}' | fluent-cat -h localhost in.test

# fluentd stdout
2012-04-01 18:54:23 +0900 april.fool: {"message":"/file/1 3012 200"}
2012-04-01 18:54:30 +0900 april.fool: {"message":"/file/2 200 501"}
2012-04-01 18:54:46 +0900 april.fool: {"message":"302 /file/3 -"}

完璧にランダマイズされた順序で出力されるデータにより構造化ログ至上主義者共を魂の底より屈服させることが可能となるであろう!
連中はこのログを前に恐れおののき、データをヒューリスティックにparseする、清く正しいログ処理者の道へ更正させられること疑いは無い!

諸君、勝利の日は近いぞ!

(see also: fluent-plugin-parser released! - tagomorisのメモ置き場)