Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

fluent-plugin-rewrite-tag-filter v1.2.0 をリリースしました。新機能であるremove_tag_prefix設定の使い方を解説します。 #fluentd

お陰様でFluentdプラグインfluent-plugin-rewrite-tag-filterはダウンロードランキングトップ10入りを果たし、定番プラグインとなりつつあります。ありがとうございます!

改めて紹介しますと、これはApachemod_rewriteのように
Fluentdのtagを自在に書き換えるという、シンプルさが売りのプラグインです。

さて、今回のバージョン、v1.2.0の新機能を紹介したいと思います。

v1.2.0 の新機能:remove_tag_prefix設定への対応

remove_tag_prefixという設定オプションを追加しました。

これは、書き換え後のタグに使えるプレースホルダである${tag}
__TAG__ にて付与されるタグから、先頭の指定文字列を取り除くという物です。

設定例と共に説明しましょう。「app.log.SampleSite.foo」というタグを取り入れて、
domainというキーの値がexample.comであった場合にタグを書き換えたいとします。

例1:remove_tag_prefixを指定しない場合

タグはrewrite.app.log.SampleSite.fooに書き換わります。

<match app.log.SampleSite.foo>
  type rewrite_tag_filter
  rewriterule1 domain example.com rewrite.${tag}
</match>

例2:remove_tag_prefixを指定した場合

先頭のapp.logが取り除かれ、タグはrewrite.SampleSite.fooに書き換わります。

<match app.log.SampleSite.foo>
  type rewrite_tag_filter
  rewriterule1 domain example.com rewrite.${tag}
  remove_tag_prefix app.log
</match>

関連Tips

  • remove_tag_suffix (タグの末尾の文字列を削除する) 的な事を行いたい場合
    今のところ実装しておりません。需要があれば検討します。

  • add_tag_prefix (タグの先頭の文字列を追加する) 的な事を行いたい場合
    rewrite.${tag}のように、プレースホルダの前に好きな文字列を追加すれば可能です。

  • add_tag_suffix (タグの末尾に文字列を追加する) 的な事を行いたい場合
    ${tag}.fooのように、プレースホルダの後に好きな文字列を追加すれば可能です。

最後に

この機能追加により、さらに痒い所に手が届くようになったのではないでしょうか。
その他、是非実装して欲しい機能等ございましたら、twitter@yoshi_ken 等でお知らせ頂けるととても嬉しいです。