You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fluent-Bit 1.6.0中rewrite-tag过滤器无输出挂起问题求助

问题诊断与修复方案

看起来你遇到的问题是rewrite_tag过滤器没有正确生成新事件,导致stdout输出插件无数据可输出。结合Fluent-Bit 1.6.0的特性,我帮你定位到两个关键原因:

1. 嵌套JSON字段的引用语法错误

在Fluent-Bit 1.6.0版本中,访问嵌套JSON字段的正确方式是使用点号(.),而不是你配置里写的$sub['s1']['s2']这种数组下标式语法。这个语法错误会直接导致rewrite_tag的规则匹配失败——过滤器识别不出你要引用的sub.s1.s2字段,自然无法生成符合from.*规则的新标签,最终没有事件流到输出插件。

2. rewrite_tag的事件流转逻辑需要注意

rewrite_tag的工作机制是:匹配到符合规则的事件后,会生成带新标签的事件并通过指定的Emitter_Name重新注入处理流程,同时原始事件会被丢弃。如果规则匹配失败,就不会有任何新事件产生,自然看不到输出。

修复后的完整配置

把嵌套字段的引用改成点号语法,修改后的配置如下:

[SERVICE]
Flush        1
Log_Level    info

[INPUT]
NAME         dummy
Dummy        {"tool": "fluent", "sub": {"s1": {"s2": "bit"}}}
Tag          test_tag

[FILTER]
Name         rewrite_tag
Match        test_tag
Rule         $tool ^(fluent)$ from.$TAG.new.$tool.$sub.s1.s2.out false
Emitter_Name re_emitted

[OUTPUT]
Name         stdout
Match        from.*

额外验证小技巧

  • 可以把Log_Level改成debug,用fluent-bit -c example.conf -v启动,查看调试日志里是否有rewrite_tag的匹配记录,确认规则是否生效;
  • 临时加一个匹配test_tag的stdout输出,先验证原始的Dummy输入是否能正常发送事件,排除输入端的问题。

这样修改后,rewrite_tag就能正确生成新标签from.test_tag.new.fluent.bit.out,你的stdout输出插件就能匹配到事件并打印内容了。

内容的提问来源于stack exchange,提问作者AnujAroshA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 16:37:31