如何检查 Fluent Bit 的内部错误?
检查 Fluent Bit 内部错误的四个途径:日志级别开到 debug 看输出、内置 HTTP 监控端点 /api/v1/metrics 查错误计数、health check 端点探活、以及 input/output 插件的独立错误日志。本文给出完整诊断方法。
Fluent Bit 的错误分两层看:进程日志(启动错误、插件报错)与运行指标(/api/v1/metrics 里的错误计数)——先把日志级别调到 debug,再看监控端点,问题基本无处遁形。
1. 日志级别调细
[SERVICE]
Log_Level debug
或用环境变量 FLB_LOG_LEVEL=debug。debug 下每个插件的初始化、批处理、重试都会输出。
2. 内置监控端点
[SERVICE]
HTTP_Server On
HTTP_Listen 0.0.0.0
HTTP_PORT 2020
curl -s http://localhost:2020/api/v1/metrics | jq .
返回每个 input/output 的记录数、字节数与 错误/重试计数——output.*.retries_failed 增长说明后端写入持续失败。
3. 健康检查端点
[SERVICE]
Health_Check On
HC_Errors_Count 5
HC_Retry_Failure_Count 5
HC_Period 60
GET /api/v1/health 在错误超阈值时返回不健康状态,可接 K8s livenessProbe。
4. 常见错误对照
- 输出端 4xx/5xx → 后端地址、认证、索引权限问题;
upstream connection error→ 网络/DNS;- 解析失败计数涨 → parser 配置与日志格式不符。
观测云对照
观测云 DataKit 的运行状态(采集速率、失败计数、队列积压)直接上报平台,控制台可视化呈现并支持对"采集器错误率"本身配告警。
常见问题(FAQ)
Q:生产环境一直开 debug 吗? 不建议,量太大;排障时开,平时 info/warn。
Q:2020 端口暴露安全吗? 只读但会泄露拓扑信息,绑内网或加防火墙限制。