Ubuntu 上 Filebeat 故障排查手册
一 快速定位流程
sudo systemctl status filebeat、sudo journalctl -xe -u filebeat.service、sudo tail -f /var/log/filebeat/filebeat。sudo filebeat test config、sudo filebeat test output;网络测试可用 telnet logstash-host 5044 或 curl -v http://elasticsearch:9200。ls -l /var/log/your.log、ps -ef | grep filebeat。filebeat.yml 中设置 logging.level: debug,重启后观察 /var/log/filebeat/filebeat。systemctl reset-failed filebeat.service && systemctl start filebeat。二 常见故障与修复要点
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common;导入 GPG wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg;添加源 echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list;更新索引 sudo apt update 后安装 sudo apt install -y filebeat。journalctl -xe -u filebeat.service 看具体报错;常见为配置语法错误、输出地址/端口错误、权限不足、证书缺失等。修复对应项后执行 systemctl reset-failed filebeat && systemctl start filebeat。filebeat.inputs 的 paths 是否匹配实际文件;确认被采集文件对 Filebeat 运行用户可读;查看 Filebeat 自身日志与调试日志寻找 “permission denied”“file not found” 等线索。filebeat test output 验证到 Elasticsearch/Logstash 的连通与认证;必要时补充 ssl.certificate_authorities、username/password 等;用 telnet/curl 排除防火墙、端口与服务未启动等问题。rseq(或临时关闭 seccomp,不推荐)。三 关键命令清单
| 目标 | 命令 |
|---|---|
| 查看服务状态 | sudo systemctl status filebeat |
| 查看服务日志 | sudo journalctl -xe -u filebeat.service |
| 实时查看 Filebeat 日志 | sudo tail -f /var/log/filebeat/filebeat |
| 语法与配置测试 | sudo filebeat test config |
| 输出连通性测试 | sudo filebeat test output |
| 网络连通性测试 | telnet logstash-host 5044 或 curl -v http://elasticsearch:9200 |
| 重置失败状态并启动 | systemctl reset-failed filebeat.service && sudo systemctl start filebeat |
| 查看版本 | filebeat version |
四 最小可用调试配置示例
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
- /var/log/*.log
output.console:
pretty: true
logging.level: debug
logging.level 恢复为 info。五 仍无法解决时的高效求助信息
filebeat versionlsb_release -a、uname -ajournalctl -xe -u filebeat.service -n 200 与 /var/log/filebeat/filebeat 的尾部filebeat test config、filebeat test output、telnet/curl 输出ls -l /var/log/... 与 ps -ef | grep filebeat