在正常的情况下,在fluentd的配置文件中,是像下面这样进行配置的:

 

<source>
  @type http
  port 8888
  bind 0.0.0.0
</source>

<filter test.cycle>
  @type grep
  <exclude>
    key action
    pattern ^logout$
  </exclude>
</filter>

<match test.cycle>
  @type stdout
</match>

 

 

那么,对于一个事件数据(event),是按照 一步一步顺序的方式,从上到下 进行处理的。

 

 

那这样存在的一个问题是什么呢?随着插件的不断的增多,数据源的不断的增多,整个配置文件的可读性就会下降了。为了解决这个问题,就引入了label

 

label

 

label就是为了解决配置文件复杂度的问题,增加了一种路由的规则,不通过顺序的步骤进行执行。而是通过label直接定位到路由的部分,比如下面的配置文件:

 

<source>
  @type http
  bind 0.0.0.0
  port 8888
  @label @STAGING
</source>

<filter test.cycle>
  @type grep
  <exclude>
    key action
    pattern ^login$
  </exclude>
</filter>

<label @STAGING>
  <filter test.cycle>
    @type grep
    <exclude>
      key action
      pattern ^logout$
    </exclude>
  </filter>

  <match test.cycle>
    @type stdout
  </match>
</label>

 

 

通过@label参数 @STAGING,就直接跳转到下面的处理部分了:

 

<label @STAGING>

... ...

</label>

 

 

 

 

原文地址:http://www.cnblogs.com/chuanzhang053/p/16888901.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性