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

如何向Docker部署的Fluent Bit代理发送虚拟测试日志

向Docker内Fluent Bit发送测试日志的实操方案

你已经完成Fluent Bit 24224端口的本地映射,直接用以下几种可直接执行的方式发送测试日志即可验证全链路:

  • 方法1:netcat发送(系统自带工具,无额外依赖,适配TCP/Forward类输入插件)
    直接在本地终端执行命令,发送JSON格式的测试日志:

    echo '{"log":"pipeline verify test log","level":"info","source":"manual-test","ts":"'$(date -Iseconds)'"}' | nc -w 1 localhost 24224
    

    命令里的-w 1参数表示发送完成后1秒自动断开连接,避免nc一直挂起。Windows原生环境无nc的话可以用WSL执行,或者选后面的方法。

  • 方法2:官方fluent-cat发送(Forward协议100%兼容,无格式解析问题)
    这是Fluent Bit官方配套的日志发送工具,不会出现协议不匹配导致的日志收不到问题:
    本地装了Fluent Bit的话直接执行:

    echo "test log from fluent-cat" | fluent-cat verify.pipeline --host localhost --port 24224
    

    不想本地装Fluent Bit的话,直接跑临时Docker容器执行即可,不需要持久化存储:

    docker run --rm --net=host cr.fluentbit.io/fluent/fluent-bit:latest /fluent-bit/bin/fluent-cat verify.pipeline --host host.docker.internal --port 24224 <<< "temp docker client test log"
    

    命令里的verify.pipeline是日志tag,替换成你Fluent Bit路由规则里能匹配转发到otel-collector的tag即可。

  • 方法3:curl发送(适配24224端口配置为HTTP输入插件的场景)
    如果你给Fluent Bit的24224端口配置的是HTTP输入而非默认Forward输入,直接用curl发POST请求即可:

    curl -X POST -H "Content-Type: application/json" -d '{"log":"curl test log","service":"pipeline-check"}' http://localhost:24224/verify.pipeline
    
链路排查提示

如果发送后otel-collector(localhost:8006)没收到对应日志,按顺序检查三点即可:

  1. 执行docker ps确认端口映射规则,PORTS列需要存在0.0.0.0:24224->24224/tcp的映射,避免只绑定容器内部回环
  2. 确认Fluent Bit的输入插件监听地址是0.0.0.0:24224,而非容器内的127.0.0.1:24224
  3. 确认Fluent Bit输出到otel-collector的地址配置正确:如果Fluent Bit跑在Docker容器里,访问宿主机的8006端口不能写localhost,要替换为host.docker.internal或者宿主机的实际内网IP,同时确认路由tag匹配规则覆盖你发送测试日志用的tag。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 09:03:50