/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

fluentdでif文みたいなのはあるのか?

ログ出力される中にJSONがあったり普通のPlainTextがあったりと、混在している状況。

Fluentdでログを送信する際にJSONの場合にはParseする、PlainTextの場合は加工しないという判断できないかなというのを調べていた。

思考としてはIF文でそういうのをできないかなーといろいろと調べていたところ、以下のIssueを見つけた。

github.com

どうやら

@type multi_format

なるもので行けるのか?と思い試してみたところ行けた。

multi_formatを使うためには別途Pluginを入れる必要があった。

github.com

なので、以下のコマンドでインストール。

sudo td-agent-gem install fluent-plugin-multi-format-parser

IF文での分岐ではなく、もうちょっと気になる部分はあるけれど、JSONの時はJSON、PlainTextの時は何もしないというのが実現できたのでこれで良しとしよう。

Fluentd、奥が深いなー。