在 Debian 系统上调试 Filebeat 问题,通常可以从以下几个方面入手:日志、配置校验、运行状态、调试模式、系统资源等。下面按实用顺序说明。
sudo journalctl -u filebeat -f
常用参数:
journalctl -u filebeat --since "10 min ago"
journalctl -u filebeat -n 100
默认位置:
/var/log/filebeat/filebeat
或:
/var/log/filebeat/filebeat.log
查看错误:
grep -i error /var/log/filebeat/filebeat
systemctl status filebeat
常见问题:
active (running) ✅failed ❌(看 journalctl)filebeat test config
测试输出:
Config OKfilebeat test output
filebeat -e -d "*" -c /etc/filebeat/filebeat.yml
说明:
-e:输出到终端-d "*":开启所有 debugCtrl+C 退出filebeat -e -d "publish,registrar,input"
logging:
level: debug
to_files: true
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/*.log
ls -l /var/log/nginx/access.log
sudo -u filebeat tail /var/log/nginx/access.log
Filebeat 默认用户:
ps -ef | grep filebeat
如果文件权限不足:
sudo chmod 644 /var/log/nginx/*.log
Filebeat 记录读取位置:
/var/lib/filebeat/registry/filebeat/log.json
如果数据“不再采集”:
systemctl stop filebeat
rm -rf /var/lib/filebeat/registry
systemctl start filebeat
curl -X GET "localhost:9200/_cluster/health?pretty"
telnet logstash-host 5044
| 问题 | 排查点 |
|---|---|
| 无数据 | input paths、权限 |
| 数据重复 | registry 被删 |
| 启动失败 | test config |
| CPU 高 | 文件数过多 |
| 采集慢 | harvester 限制 |
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-debugging.html
如果你愿意,可以把:
filebeat.ymljournalctl -u filebeat 报错filebeat version)发出来,我可以帮你具体分析。