下面按常见排查路径给你一套在 Debian 上调试 Filebeat 的实用方法,从“看日志 → 看配置 → 看状态 → 抓数据”一步步来。
sudo journalctl -u filebeat -f
sudo tail -f /var/log/filebeat/filebeat
重点关注:
connection refusedno such file or directoryExponential backoffHarvester started / closedpublish failedsystemctl status filebeat
或
ps aux | grep filebeat
如果没跑:
sudo systemctl start filebeat
sudo systemctl enable filebeat
sudo filebeat test config
✅ 输出 Config OK 才算没问题
sudo filebeat test output
常见错误:
sudo filebeat -e -d "*"
或编辑配置文件:
logging.level: debug
logging.to_files: true
然后重启:
sudo systemctl restart filebeat
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/*.log
检查:
enabled: truels -l /var/log/nginx/
sudo -u filebeat cat /var/log/nginx/access.log
sudo filebeat export config
sudo filebeat inspect
或直接看 registry(记录读取位置):
cat /var/lib/filebeat/registry/filebeat/log.json | head
⚠️ 如果 registry 错乱,可删除(谨慎):
sudo systemctl stop filebeat
sudo rm -rf /var/lib/filebeat/registry
sudo systemctl start filebeat
curl -X GET "localhost:9200/filebeat-*/_search?pretty" -u elastic
sudo tail -f /var/log/logstash/logstash-plain.log
| 问题 | 原因 |
|---|---|
| 没数据 | input 没 enabled |
| 一直重连 | ES/Logstash 地址错 |
| 文件不读 | 权限不足 |
| 重复读 | registry 损坏 |
| YAML 报错 | 缩进错误 |
你可以直接贴:
filebeat.ymljournalctl -u filebeat 报错我可以精准指出问题点。