在 CentOS 上调试 Filebeat,通常从「看日志、提级别、验证配置、手动运行」几个方面入手。下面给你一套实用调试流程。
journalctl -u filebeat -f
tail -f /var/log/filebeat/filebeat.log
如果日志太少,说明日志级别太低。
编辑配置文件:
vi /etc/filebeat/filebeat.yml
在顶部加:
logging.level: debug
logging.to_files: true
logging.files:
path: /var/log/filebeat
name: filebeat.log
keepfiles: 7
重启:
systemctl restart filebeat
然后观察:
tail -f /var/log/filebeat/filebeat.log
filebeat test config
filebeat test output
filebeat -e -c /etc/filebeat/filebeat.yml -d "*"
参数说明:
-e:日志输出到终端-c:指定配置文件-d "*":开启所有 debug 模块适合快速看问题(如文件未读取、正则错误)。
filebeat -e -c /etc/filebeat/filebeat.yml -d "input,harvester"
常见现象:
No files found for inputFile is inactiveFile was removedls -l /var/log/xxx.log
Filebeat 用户(通常是 root 或 filebeat)必须有读权限。
临时关闭测试:
setenforce 0
如解决,需配置 SELinux 或关闭。
确保:
scan_frequency: 10s
避免日志被 logrotate 后无法读取。
filebeat test output
确认:
telnet logstash_ip 5044
filebeat test configfilebeat test outputfilebeat -e -d "*"filebeat.log如果你愿意,可以贴出:
filebeat.yml我可以帮你精确分析。