CentOS Filebeat日志发送失败的定位与修复
一、快速定位
- 查看服务与系统日志,优先抓取明确报错:
- 服务日志:sudo tail -f /var/log/filebeat/filebeat
- 系统日志:sudo journalctl -xe -u filebeat.service
- 先做配置语法自检,避免“配置错误导致无法启动或发送”:
- 校验配置:filebeat test config -c /etc/filebeat/filebeat.yml
- YAML 缩进检查:sudo yum install -y yamllint && yamllint /etc/filebeat/filebeat.yml
- 确认进程与重启效果:
- 状态:sudo systemctl status filebeat
- 重启:sudo systemctl restart filebeat;若反复失败可执行 systemctl reset-failed filebeat 后再启动
二、常见根因与对应修复
三、按输出目标的专项排查
-
输出到 Logstash
- 核对 hosts: [“logstash:5044”];若启用 SSL,补充 ssl 相关参数;用 telnet 或 nc 测试 5044 端口连通;查看 Logstash 日志确认管道是否正常
-
输出到 Elasticsearch
- 核对 hosts: [“http://es:9200”]、认证信息;用 curl 直连 ES 验证;若启用 HTTPS/证书,正确配置 ssl.certificate_authorities 等
-
输出到 Redis
- 核对 hosts: [“localhost:6379”]、key 等;确认 Redis 服务运行(sudo systemctl status redis);用 redis-cli 检查是否收到数据(如 LRANGE filebeat 0 -1)
四、最小可用配置示例