hx0011yy 发表于 2019-1-25 12:30:26

Zabbix Agent出现ZBX_TCP_READ() failed: [4] Interrupted system call问题解决

  始使用Zabbix来监控服务器的性能。一开始监控的是几台主要的机子,一直用的很不错,于是将几台不重要的服务器也托进来。这时在有一台服务器上遇到了问题,按照之前相同的配置完成之后,Zabbix Server一直提示无法访问这台服务器上的Zabbix Agent。查看了一下Zabbix Server的日志,找到了错误提示:
  Get value from agent failed: ZBX_TCP_READ() failed: Interrupted system call
  于是Google了一下,发现也有很多人遇到了这个错误,错误提示是连接被中断,但是网上的提问好像基本没有得到解决的。
  于是自己用对比几台服务器端口的连接来寻找问题,尝试比较telnet时发现了不同,连接正常的服务器都是会显示:
  root@kaijia:~# telnet server.kaijia.me 10050Trying 1.1.1.1...Connected to server.kaijia.me.Escape character is '^]'.Connection closed by foreign host.
  1
  2
  3
  4
  5
  root@:~# telnet server..me 10050
  Trying 1.1.1.1...
  Connected to server.me.
  Escape character is '^]'.
  Connection closed by foreign host.
  而使用telnet连接Zabbix报告无法连接的服务器时却显示的是:
  root@kaijia:~# telnet server.kaijia.me 10050Trying 2607:fc30:1:4::bc1f:83d7...Trying 1.1.1.1...Connected to server.kaijia.me.Escape character is '^]'.Connection closed by foreign host.
  1
  2
  3
  4
  5
  6
  root@:~# telnet server.me 10050
  Trying 2607:fc30:1:4::bc1f:83d7...
  Trying 1.1.1.1...
  Connected to server.me.
  Escape character is '^]'.
  Connection closed by foreign host.
  对比多了一行“Trying 2607:fc30:1:4::bc1f:83d7…”连接IPv6的尝试提示。并且出错的连接“Connection closed by foreign host.”是立即出现的,而正常的服务器都会等待1~2秒才出现。于是Kaijia找到了出错的原因是IPv6设定上的问题,最简单的方法有两种:

[*]  关闭Zabbix Server所在服务器上的IPv6
[*]  在DNS解析中取消Zabbix Agent的AAAA记录
[*]  客户端地址配置错误,导致无法联通。

  Kaijia使用了第二种方法,在DNS中将出问题的服务器的AAAA记录删除,然后重启了一下Zabbix Server服务器以清楚DNS缓存,过几分钟之后,连接就正常了。
  




页: [1]
查看完整版本: Zabbix Agent出现ZBX_TCP_READ() failed: [4] Interrupted system call问题解决