为什么 fluentd grep exclude 过滤器不起作用?

Why fluentd grep exlude filter doesn't work?

为什么没有过滤?

<source>
  @type dummy
  tag kubernetes.log
  dummy [{"log":"1234", "stream":"stdout", "kubernetes":{"container_name":"log-collector-fluentd" }, "time":"2017-05-04T15:01:21.000000000Z"}]
</source>

<filter kubernetes.**>
   @type grep
   exclude1 kubernetes.container_name log-collector-fluentd
</filter>

<match kubernetes.**>
  @type             stdout
</match>

测试:

$ /opt/td-agent/embedded/bin/ruby -- /usr/sbin/td-agent -c /fluentd.conf
2017-05-05 06:22:58 +0000 kubernetes.log: {"log":"1234","stream":"stdout","kubernetes":{"container_name":"log-collector-fluentd"},"time":"2017-05-04T15:01:21.000000000Z"}

很遗憾,fluentd grep 过滤器目前不支持嵌套值。

这是已知问题。看: https://github.com/fluent/fluentd/issues/902