FluentBit过滤器是否按顺序逐步过滤?工作机制解析
FluentBit过滤器执行逻辑详解
过滤器按配置顺序逐步执行:FluentBit会严格遵循配置文件中过滤器的先后顺序处理日志,前一个过滤器的输出结果就是后一个过滤器的输入数据源。
核心工作机制:
- 日志从输入源采集后,会携带对应的Tag进入过滤器链;
- 每个过滤器通过
Match字段指定匹配的Tag模式,只有Tag符合规则的日志才会进入该过滤器处理; - 过滤器对匹配的日志执行配置的操作(过滤、字段修改等),处理后,符合条件的日志继续流向后续过滤器或输出插件,被剔除的日志直接终止流程,不会进入后续环节。
过滤后的数据流转:第一个过滤器剔除部分数据后,第二个过滤器仅基于第一次过滤后的剩余数据集操作,完全不会接触到被第一个过滤器剔除的日志。
第二个过滤器的处理范围:以你提供的配置为例,第二个
modify过滤器的Match *匹配的是上游传递过来的所有日志——也就是第一个过滤器处理后留下的、Tag符合kube.*且不属于unwanted-namespace的日志。它会对这些日志执行Copy kubernetes_pod_name host的字段复制操作,不会处理被第一个过滤器排除的数据,因为那些数据在第一个过滤器环节就已经终止流转了。
配置示例
[FILTER] Name kubernetes Match kube.* Kube_URL https://kubernetes.default.svc:443 Kube_Tag_Prefix kube.var.log.containers. Exclude Namespace_Name=unwanted-namespace [FILTER] Name modify Match * Copy kubernetes_pod_name host
内容的提问来源于stack exchange,提问作者bestwisches
相关产品推荐
相关产品推荐

