首页 > 解决方案 > 在 Fluentd 问题中过滤

问题描述

我正在通过负载均衡器将数据接收到我的 Kafka 集群(3 个节点)。除了我需要的 nginx 日志消息之外,负载均衡器还向我发送了一些 ping,以查看 kafka 节点是否还活着。这些“ping”在我的 Kafka 主题中显示为:

{"message":"A10\u0000"}

我一直试图在 fluentd 配置文件中过滤掉这些消息,但似乎我无法正确处理。

这是(部分)我的流利配置:

<source>
  @type udp
  <parse>
    @type none
  </parse>
  port 11514
  bind 0.0.0.0
  tag trb-login
</source>

<filter A10>
  @type grep
  @log_level debug
  <exclude>
    key message
    pattern A10
  </exclude>
</filter>

还尝试了其他几种模式的正则表达式,例如 ^A10、^A10$、^A10*。甚至尝试了带有不同数量的反斜杠的模式 (A10\u0000) 的全文。没有什么可以让我过滤掉这一行......(顺便说一句:@log_level 调试也不做任何事情......)

我的 fluentd 版本是 1.2.2

我在这里使用正确的车辆(过滤器)吗?或者我应该使用解析器?有任何想法吗 ?

标签: apache-kafkaudpfluentd

解决方案


试试下面的配置。

  <filter>
    @type grep
    <exclude>
      key message
      pattern /^A10/
    </exclude>
  </filter>

推荐阅读