流利:一场比赛中有多种格式

时间:2016-10-12 05:34:42

标签: match fluent fluentd

我是Fluentd的新手。我对<match>标记及其格式有一个问题。例如

  • 我们的系统在同一标签上返回两种不同的格式: format1 format2 标记
  • 使用fluent.conf,我们可以捕获提供的标签,但我们无法将这两种格式分开

我尝试了fluent-plugin-multi-format-parser,但它不允许我添加前缀。

<match tag>
    @type parser
    format multi

    <pattern>
         format format1
         add_prefix pattern1
         ... 
    </pattern> 

    <pattern>
         format format2
         add_prefix pattern2
         ... 
    </pattern>
</match>

对此有解决方法吗?

1 个答案:

答案 0 :(得分:1)

我认为this Google Groups conversation中的答案有一个解决方案:

具体而言(如果链接不起作用并为不太感兴趣的人节省时间):

出于您的目的,您可以使用copy插件。复制整个邮件,然后过滤如下:

<match tag>
  type copy
  <store>
    type grep
    input_key format_type
    regexp pattern1
    add_tag_prefix pattern1
  </store>
  <store>
    type grep
    input_key format_type
    regexp pattern2
    add_tag_prefix pattern2
  </store>
</match>
<match pattern1.tag>
</match>
<match pattern2.tag>
</match>

input_key需要成为运行regexp的关键。