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が小文字に変換されている。