Fluentd插件rewrite-tag-filter介紹


安裝方法:

gem install fluent-plugin-rewrite-tag-filter

詳細文檔:

https://github.com/fluent/fluent-plugin-rewrite-tag-filter       ######具體用法
https://docs.fluentd.org/v1.0/articles/out_rewrite_tag_filter    ######官方文檔
tag是什么?在fluentd中事件流可以通過tag來控制,filter,parse,match,label都可以篩選tag來處理對應的event
rewrite-tag根據key的值來重寫tag,支持正則表達式匹配,invert支持反向匹配,可以放在末尾來匹配所有不符合上面規則的event,如下所示
<match td.apache.access>
  @type rewrite_tag_filter
  capitalize_regex_backreference yes
  <rule>
    key     path
    pattern /\.(gif|jpe?g|png|pdf|zip)$/
    tag clear
  </rule>
  <rule>
    key     status
    pattern /^200$/
    tag     clear
    invert  true
  </rule>
  <rule>
    key     domain
    pattern /^.+\.com$/
    tag     clear
    invert  true
  </rule>
  <rule>
    key     domain
    pattern /^maps\.example\.com$/
    tag     site.ExampleMaps
  </rule>
  <rule>
    key     domain
    pattern /^news\.example\.com$/
    tag     site.ExampleNews
  </rule>
  <rule>
    key     domain
    pattern /^(mail)\.(example)\.com$/
    tag     site.$2$1
  </rule>
  <rule>
    key     domain
    pattern /.+/
    tag     site.unmatched
  </rule>
</match>

注意:一旦event(叫日志也行)進入 rewrite_tag_filter中過濾,任何沒有被規則匹配的記錄都將丟掉,實驗下來是這種效果,所以可以在最后用invert來匹配所有其他的key值情況

1.0之后,官方比較推薦用label標簽,而這個插件可以和relabel結合使用,同時因為在label中可以套filter標簽和match標簽,可以對event再過濾一次,如果你有這種需求,

<match pattern>
  @type relabel
  @label @foo
</match>
<label @foo>
  <filter pattern>
  ...
  </filter>
  <match pattern>
    ...
  </match>
</label>
使用這個插件重寫tag的時候一定要注意定義好tag的格式,因為fluentd的routing是從上到下的,意思是每次要路由的時候都從上到下掃描一次,個人感覺有點類似iptables,所以如果是如下情況,會造成一個回路,無法輸出
<match app.**>
  @type rewrite_tag_filter
  <rule>
    key     level
    pattern /(.+)/
    tag     app.$1
  </rule>
<match>

<match app.**>
  @type forward
  # ...
</match>

改成下面就好了

<match app.**>
  @type rewrite_tag_filter
  <rule>
    key     level
    pattern /(.+)/
    tag     level.app.$1
  </rule>
<match>

<match level.app.**>
  @type forward
  # ...
</match>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM