JavaScriptを有効にしてください

Fluentdでログの中身からタグ付けする

 ·  ☕ 1 分で読めます

Fluentd でログの中身からさらにタグ付けをしたいというユースケースがありました。

具体的には Docker log driver 経由で Fluentd が受け取ったログを stderr と stdout でタグ付けしなおしたい(re route したい)といったものがあり以下のように対応しました。

ここでは Fluentd や依存ライブラリのバージョンは以下で確認しました。

  • fluentd:v1.2.4
  • fluent-plugin-rewrite-tag-filter:2.1.0

match 部分の conf

expected  fluent tag : “docker.{{.ID}}”

<match docker.\*>
  @type rewrite_tag_filter
  <rule>
    key source
    pattern /^stdout$/
    tag stdout
  </rule>
  <rule>
    key     source
    pattern /^stderr$/
    tag stderr
  </rule>
</match>

ちなみに正規表現と json のパースのコストが都度かかる思われる(コードは読んでない)のでパフォーマンステストなどを行い問題がないことを確認すべき

共有

bootjp / ぶーと
著者
ミドルウェアエンジニア / 7年後に分散データベース研究の世界に貢献することを目指して


目次