fluent-plugin-rewrite-tag-filter v1.2.0 をリリースしました。新機能であるremove_tag_prefix設定の使い方を解説します。 #fluentd
お陰様でFluentdプラグインfluent-plugin-rewrite-tag-filter
はダウンロードランキングトップ10入りを果たし、定番プラグインとなりつつあります。ありがとうございます!
- https://github.com/y-ken/fluent-plugin-rewrite-tag-filter
- http://rubygems.org/gems/fluent-plugin-rewrite-tag-filter
改めて紹介しますと、これはApacheのmod_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 等でお知らせ頂けるととても嬉しいです。