在Fluentd中找到两个正则表达式的匹配项

时间:2018-10-04 07:12:58

标签: regex fluentd

我需要从尾部捕获两个不同的组件到两个不同的标签中。目前,我正在使用以下代码捕获模式之一。请帮助两个如何容纳两个正则表达式

<source>
  @type  tail
    <parse>
      @type regexp
              expression /^(.*) Request(.*) CODE=(?<code>[0-9][0-9]?[0-9]?[0-9]?[0-9]?)(.*)$/
    </parse>
    tag req
  path /logs/MG_60100*.log.*
  pos_file /var/run/fluentd/access.log.pos
</source>

我的其他正则表达式是

<parse>
      @type regexp
          expression /^(.*)Response: 200(.*)$/
</parse>

如何以及在何处放置?请帮助

1 个答案:

答案 0 :(得分:1)

如下定义了两个带有不同pos文件的源。为我工作

<source>
  @type  tail
    <parse>
      @type regexp
              expression /^(.*) Request(.*) CODE=(?<code>[0-9][0-9]?[0-9]?[0-9]?[0-9]?)(.*)$/
    </parse>
  tag req
  path /logs/*.log.*
  pos_file /var/run/fluentd/access.log.pos
</source>
<source>
   @type  tail
        <parse>
          @type regexp
              expression /^(.*)Response: 201.*)$/
        </parse>
 path /logs/*.log.*
 pos_file /var/run/fluentd/access1.log.pos
tag req1
</source>