在 CentOS 上排查 Filebeat 可按“服务状态 → 日志 → 配置 → 网络 → 权限 → 资源”的顺序进行,以下给出可直接执行的命令与要点
一 快速定位与通用检查
sudo systemctl status filebeat -lsudo journalctl -xeu filebeat.servicesudo tail -f /var/log/filebeat/filebeat 或 sudo tail -f /var/log/beats/filebeat/filebeatsudo yamllint /etc/filebeat/filebeat.ymltop/htop 观察 CPU/内存 是否紧张lsof | grep deleted 清理已删除但仍被占用的句柄df -h 确认 /var 等分区未满sudo systemctl restart filebeat二 配置与权限专项排查
filebeat.inputs 中的日志路径(如 /var/log/*.log)output.elasticsearch 或 output.logstash 的 hosts、端口、协议、认证ssl.certificate_authorities、ssl.verification_mode 等ps -ef | grep filebeatyamllint 校验,避免因缩进错误导致解析失败filebeat -version三 网络连通性排查
telnet logstash-host 5044(默认 Beats 端口为 5044)curl -X GET "http://elasticsearch:9200"(如启用 HTTPS/认证,需相应调整)sudo firewall-cmd --add-port=5044/tcp --permanent && sudo firewall-cmd --reloadsudo ufw allow 5044四 常见症状与处理对照表
| 症状 | 快速检查 | 处理建议 |
|---|---|---|
| 服务启动失败 | systemctl status filebeat -l、journalctl -xeu filebeat |
依据报错修复,如 YAML 语法、输出地址错误 |
| 配置修改未生效 | systemctl status filebeat、tail -f /var/log/filebeat/filebeat |
重启服务:systemctl restart filebeat |
| 日志采集不到 | tail -f /var/log/filebeat/filebeat、ls -l <日志路径> |
校验 paths 路径、文件权限与属主 |
| 无法连接 ES/LS | telnet <host> <port>、curl <es-url> |
检查网络、防火墙、端口与服务状态 |
| 权限被拒绝 | `ps -ef | grep filebeat、ls -l <日志文件>` |
| 资源紧张 | top、df -h、`lsof |
grep deleted` |
| 版本不兼容 | filebeat -version、对接组件版本 |
对齐 Elastic Stack 大版本 |
以上对照表汇总了高频症状、定位命令与修复方向,便于快速处置。