Filebeat 提示 "no non-zero metrics in the last 30s" 是什么意思?

Filebeat 日志出现 "no non-zero metrics in the last 30s" 是信息级提示,表示过去 30 秒没有采集到任何日志数据。本文说明该日志的含义、常见原因(路径配置、权限、无新日志)与排查步骤。

最佳实践
Filebeat 提示 "no non-zero metrics in the last 30s" 是什么意思?封面

这不是错误,是 Filebeat 的周期性自检日志:当前报告周期(默认通常为 30 秒)内没有需要输出的非零监控指标变化,不能据此断言没有读到新行。 日志文件本身没有新增内容时它属正常;如果业务一直在写日志还出现这条提示,才需要排查。

先判断:正常还是异常?

  • 低峰期/测试环境日志写入本来就少 → 正常,忽略即可;
  • 业务持续产生日志但目标端没有对应数据 → 结合采集位点、队列和输出错误按下文排查。

排查清单

1. 路径配置是否正确

filebeat.inputs:
  - type: filestream
    id: myapp-logs
    paths:
      - /var/log/myapp/*.log

确认 glob 路径真实匹配到文件:ls /var/log/myapp/*.log。

2. 文件权限:Filebeat 进程用户对日志文件要有读权限——sudo -u filebeat cat /path/to/log 验证。

3. 文件句柄/harvester 状态:看 Filebeat 日志里 harvester 是否启动了对目标文件的采集;轮转能否正确跟踪取决于文件身份策略、路径和 rename/copytruncate 方式,并非换成 filestream 就一定不漏。启用 fingerprint 时,文件还需达到配置的指纹读取长度才开始采集。

4. 输出端堵塞:Elasticsearch/Kafka 输出端写不进去时,Filebeat 会反压停止读取——检查输出端健康度与 Filebeat 的 queue 指标。

常见问题(FAQ)

Q:能关掉这条日志吗? 调低 Filebeat 日志级别到 warning 即可(logging.level: warning),它是 info 级输出。

Q:文件有内容但一直不采? 检查 ignore_older 设置——默认值 0 表示禁用;只有显式启用时才按文件修改时间排除旧文件。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

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

立即开始

选择观测云版本

代码托管平台