td-agentのバージョンが古いので、filterは使わない前提で実装する。
td-agent(fluentd)のバージョンが新しくfilterが使えるのであれば、record_transformerフィルターを使うと同じようなことが実現できるはず(未検証)
前提として、拡張pluginとしてrecord-reformerのインストールが必要。
/opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-record-reformer # 設定ファイルは以下のように記載する。 <source> type dummy tag dummydata dummy {"hello":"WORLD"} </source> <match dummydata> type record_reformer tag reformed <record> hostname added by hello ${hello.downcase} </record> </match> <match reformed> type stdout </match>
出力ログが
2015-10-23 11:52:04 +0900 reformed: {“hello”:”world”,”hostname”:”added by “}
hostnameフィールドが追加されて、元のWORLDが小文字に変換されている。