ログ出力される中にJSONがあったり普通のPlainTextがあったりと、混在している状況。
Fluentdでログを送信する際にJSONの場合にはParseする、PlainTextの場合は加工しないという判断できないかなというのを調べていた。
思考としてはIF文でそういうのをできないかなーといろいろと調べていたところ、以下のIssueを見つけた。
どうやら
@type multi_format
なるもので行けるのか?と思い試してみたところ行けた。
multi_formatを使うためには別途Pluginを入れる必要があった。
なので、以下のコマンドでインストール。
sudo td-agent-gem install fluent-plugin-multi-format-parser
IF文での分岐ではなく、もうちょっと気になる部分はあるけれど、JSONの時はJSON、PlainTextの時は何もしないというのが実現できたのでこれで良しとしよう。
Fluentd、奥が深いなー。