Ubuntu 上 Filebeat 故障排查实操手册
一 快速定位流程
sudo systemctl status filebeat、sudo journalctl -xeu filebeat、sudo tail -f /var/log/filebeat/filebeat。这些日志能直接指出是配置、权限、输出目标还是系统调用导致的异常。yamllint),并重点检查 output.logstash 或 output.elasticsearch 的主机、端口、认证与 SSL/TLS 配置是否正确;同时确认输入路径(如 paths: ["/var/log/*.log"])是否存在且可读取。telnet logstash 5044、curl http://elasticsearch:9200),并确认 UFW/iptables 未拦截相关端口。filebeat -version 确认版本,确保与 Logstash/Elasticsearch 版本匹配;若使用 Kafka 输出,注意 Filebeat 与 Kafka 的版本对应关系,避免 “unknown/unsupported kafka version” 等报错。二 常见故障与修复
deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main),执行 sudo apt update 后再安装。rseq 或关闭 seccomp(不推荐生产)。示例:seccomp:
default_action: allow
syscalls:
- action: allow
names:
- rseq
或seccomp:
enabled: false
修改后重启服务并观察日志。sudo systemctl reset-failed filebeat.service,再启动并实时查看日志 sudo journalctl -f -u filebeat,结合日志修复根因(如配置错误、端口不通、权限不足)。telnet/curl 验证到 Logstash 5044 或 Elasticsearch 9200 的连通性,并确认防火墙放行相关端口。三 深入验证与性能优化
sudo filebeat -e -c /etc/filebeat/filebeat.yml;或启用模块做端到端自检,如 sudo filebeat -e -modules=system -M "system.*.enabled=true"(按需调整模块与参数)。top/htop)判断是否存在资源瓶颈。harvester_limit、scan_frequency、ignore_older,并启用压缩传输(如 compression: gzip)以减少网络与磁盘压力。四 最小可用配置模板
filebeat.inputs:
- type: stdin
output.console:
pretty: true
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.logstash:
hosts: ["logstash.example.com:5044"]
# 如启用 TLS/SSL,补充 ssl.* 与 cacert 等配置
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["http://elasticsearch.example.com:9200"]
username: "elastic"
password: "your_password"
# 如启用 HTTPS/证书校验,补充 ssl.* 配置
以上模板便于快速替换 hosts、路径 与 认证 信息后做连通性与采集验证。