如何检查 Fluent Bit 的内部错误?

检查 Fluent Bit 内部错误的四个途径:日志级别开到 debug 看输出、内置 HTTP 监控端点 /api/v1/metrics 查错误计数、health check 端点探活、以及 input/output 插件的独立错误日志。本文给出完整诊断方法。

最佳实践
如何检查 Fluent Bit 的内部错误?封面

Fluent Bit 的错误分两层看:进程日志(启动错误、插件报错)与运行指标(/api/v1/metrics 里的错误计数)——先把日志级别调到 debug,再看监控端点,再结合输入丢弃、缓冲与下游数据验证。

1. 日志级别调细

[SERVICE]
    Log_Level debug

环境变量只有被配置或启动脚本引用时才生效,例如 Log_Level ${FLB_LOG_LEVEL};单独设置变量不保证覆盖配置。debug 下每个插件的初始化、批处理、重试都会输出。

2. 内置监控端点

[SERVICE]
    HTTP_Server  On
    HTTP_Listen  127.0.0.1
    HTTP_PORT    2020
curl -s http://localhost:2020/api/v1/metrics | jq .

返回每个 input/output 的记录数、字节数与 错误/重试计数——output.*.retries_failed 增长表示相应 chunk 的重试耗尽或失败,需结合插件与缓冲日志定位,不能直接等同记录丢失条数。

3. 健康检查端点

[SERVICE]
    Health_Check On
    HC_Errors_Count 5
    HC_Retry_Failure_Count 5
    HC_Period 60

GET /api/v1/health 在错误超阈值时返回不健康状态,其覆盖范围主要是输出错误/重试,不能证明全部输入解析正常;后端故障导致不健康时盲目作为 liveness 重启可能加剧问题。

4. 常见错误对照

  • 输出端 4xx/5xx → 后端地址、认证、索引权限问题;
  • upstream connection error → 网络/DNS;
  • 解析错误日志或对应插件实际暴露的计数增长 → 检查 parser 与格式;并非所有解析插件都有统一计数。

常见问题(FAQ)

Q:生产环境一直开 debug 吗? 不建议,量太大;排障时开,平时 info/warn。

Q:2020 端口暴露安全吗? 只读但会泄露拓扑信息,绑内网或加防火墙限制。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台