有没有办法排除fluent-bit
中的某些名称空间?我想排除某些名称空间,这样fluent-bit
就不会将在这些名称空间中创建的所有日志转发给ELK。
除了给名称空间中的每个pod添加注解之外,还有什么方法可以做到这一点吗?我知道您可以通过kubectl更新名称空间中的所有pod注解。
kubectl注解pod--名称空间=pks-system --所有fluentbit.io/exclude= 'true'
有没有办法排除fluent-bit
中的某些名称空间?我想排除某些名称空间,这样fluent-bit
就不会将在这些名称空间中创建的所有日志转发给ELK。
除了给名称空间中的每个pod添加注解之外,还有什么方法可以做到这一点吗?我知道您可以通过kubectl更新名称空间中的所有pod注解。
kubectl注解pod--名称空间=pks-system --所有fluentbit.io/exclude= 'true'
4条答案
按热度按时间6l7fqoea1#
我认为下面的输入插件配置可以做到这一点:
在此找到:https://github.com/fluent/fluent-bit/issues/758
Exclude_Path
属性定义日志将被忽略的名称空间的名称。对于多个日志,请使用逗号分隔dgtucam12#
根据官方的
Fluent Bit
文档,目前它实际上是请求日志处理器跳过某些Pod的日志的唯一方式。我搜索了它,除了这个片段什么也没找到。除此之外,他们的GitHub项目中甚至有一个feature request,所以现在我们可以希望它会在未来的版本中提供。
在文档中只有
separate Pod definition
的示例,但可以肯定的是,您应该能够将其应用于Deployment
定义中的Pod template
,这样您就不必使用您提供的kubectl命令将其分别应用于每个Pod或特定命名空间中的每个Pod。ilmyapht3#
您已经使用三个过滤器
kubernetes
、nest
和grep
的组合实现了名称空间排除plupiseo4#
你一定要读一下:https://docs.fluentbit.io/manual/filter/kubernetes#kubernetes-annotations文档中:* “请求Fluent Bit排除或不排除Pod生成的日志。仅当Fluent Bit配置(Kubernetes过滤器)已启用选项K8S-Logging. Exclude时,才会处理此选项。"*