温馨提示×

filebeat在centos为何断连

小樊
37
2026-10-11 19:52:10
栏目: 智能运维

Filebeat 在 CentOS 上“断连”通常指 和 Elasticsearch / Logstash 的连接中断,或 Filebeat 进程异常退出 / 采集停止。下面按常见原因分类说明,并给出排查方法。


一、和 ES / Logstash 断连(最常见)

1. 网络问题

  • 防火墙(firewalld / iptables)阻断
  • 安全组未放通 9200 / 5044
  • 跨机房 / 云环境网络抖动

排查

telnet es_host 9200
ping es_host
journalctl -u filebeat -f

解决

  • 放通端口
  • 使用 output.logstash 时确认 hosts 正确
  • 增加重试配置:
output.elasticsearch:
  hosts: ["http://es:9200"]
  backoff.init: 1s
  backoff.max: 60s

2. Elasticsearch / Logstash 不稳定

  • ES 节点重启
  • Logstash 队列满
  • 证书过期(HTTPS)

现象

connection reset by peer
EOF
i/o timeout

解决

  • 检查 ES / Logstash 日志
  • 使用负载均衡:
output.logstash:
  hosts: ["ls1:5044", "ls2:5044"]
  loadbalance: true

3. TLS / 证书问题(HTTPS)

CentOS 上常见:

  • 系统时间不对
  • CA 证书未信任
  • 证书过期

排查

date
openssl s_client -connect es:9200

解决

  • 同步时间(chrony)
  • 配置:
ssl.certificate_authorities: ["/etc/filebeat/ca.crt"]

二、Filebeat 进程断连 / 退出

1. systemd 重启或崩溃

systemctl status filebeat
journalctl -u filebeat --since "1 hour ago"

常见原因:

  • 配置错误
  • 内存不足(OOM)

2. 配置错误导致启动失败

filebeat test config
filebeat test output

3. inode 变化导致“看似断连”

  • 日志被 logrotate 切割
  • 使用 >> 覆盖写

解决

  • 正确配置:
close_inactive: 5m
clean_inactive: 72h
ignore_older: 24h

三、资源问题(CentOS 特有)

1. 文件描述符不足

ulimit -n

解决

/etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536

2. 磁盘写满

  • /var/lib/filebeat
  • /var/log
df -h

四、快速排查清单(建议顺序)

  1. systemctl status filebeat
  2. journalctl -u filebeat -f
  3. filebeat test config
  4. filebeat test output
  5. telnet es_host 9200
  6. 检查磁盘 / 内存 / fd

如果你能贴出:

  • Filebeat 版本
  • output 类型(ES / LS)
  • 具体报错日志

我可以直接帮你定位是哪一类断连。

0 踩