filebeat test config -c /etc/filebeat/filebeat.yml
filebeat test output -c /etc/filebeat/filebeat.yml
cat /var/lib/filebeat/registry/filebeat/log.json | head

应用一天写 200 万行日志,Kibana 按天统计只有 90 万条,filebeat 日志偶尔冒 Harvester could not be started 的告警。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:两个采集器同时盯同一个目录,或者 close_inactive 太短导致文件被反复关闭重开,中间那段行被跳过,ignore_older 也可能把旧文件挡掉。

「Filebeat 采集不全」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。

把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。

处理上按这个顺序:先确认同一批日志文件只由一个采集实例负责;把 close_inactive 和 scan_frequency 适当调大;翻 registry 里的 offset 看有没有断档。

确认没问题再收工,拿一天的原始行数和 ES 文档数对比,差值压到千分之一以内。

作者 9823189