Zabbix 无法从 Agent 获取值(中断的系统调用)
Posted
技术标签:
【中文标题】Zabbix 无法从 Agent 获取值(中断的系统调用)【英文标题】:Zabbix can't get value from Agent (Interrupted system call) 【发布时间】:2014-02-27 05:37:24 【问题描述】:我的 Ubuntu 10.04 (lucid) 服务器上的 zabbix 代理设置有问题。我在其他服务器上有 zabbix 服务器,我在服务器和代理中配置了主机应该如何(使用 zabbix 手册),但是 Zabbix 服务器无法连接到代理并给出错误:
Get value from agent failed: cannot connect to [[server IP where is agent]:10050]: [4] Interrupted system call
服务器没有可以产生此问题的防火墙并且端口已打开。
我非常感谢任何帮助!
【问题讨论】:
【参考方案1】:Interrupted system call
- 当连接超时时,我在 zabbix 中看到了这些。在这种情况下,tcpdump 是你最好的朋友。在代理主机上,tcpdump -i any -n tcp port 10050
并查看您是否收到传入的数据包,如果没有,则框之间有东西,或者框之间没有正确的路由,或者服务器中的主机配置有错误的 IP。相反,如果您看到传入的数据包但没有传出,那么您确实有一个本地防火墙(iptables)。最后,如果您同时看到传入和传出,那么您必须在服务器端检查代理的响应是否到达那里。如果是这样,那么,最后,这是一个奇怪的情况。
【讨论】:
【参考方案2】:我遇到过一些这样的问题。请按照此清单帮助解决您的问题:
zabbix中的主机名必须与系统主机名匹配。
检查zabbix agent是否运行
# ps aux | grep zabbix
您应该会看到如下内容:
zabbix 13151 0.0 0.0 80792 1072 ? S 18:35 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 13152 0.0 0.0 80792 1036 ? S 18:35 0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 13153 0.0 0.0 80792 844 ? S 18:35 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 13154 0.0 0.0 80792 840 ? S 18:35 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 13155 0.0 0.0 80792 840 ? S 18:35 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 13156 0.0 0.0 80792 840 ? S 18:35 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 13159 0.0 0.0 10464 916 pts/0 S+ 18:35 0:00 grep --color=auto zabbix
如果你只看到一行,那么你的代理有问题。
从zabbix,检查到目标的连接:
# nc -v -z yourtartget_ip_or_fqdn 10050
你应该看到:
Connection to yourtartget_ip_or_fqdn 10050 port [tcp/zabbix-agent] succeeded!
检查目标是否可以连接到zabbix:
# nc -v -z yourtargetzabbix_ip_or_fqdn 10051
你应该看到:
Connection to yourtargetzabbix 10050 port [tcp/zabbix-agent] succeeded!
如果一切顺利,您发现重启代理解决了问题。
记住你在 zabbix 中输入的主机名必须与目标的主机名匹配。
【讨论】:
客户端->目标连接应该是#nc -v -z yourtargetzabbix_ip_or_fqdn 10050。端口错误:)【参考方案3】:如果您使用的是 linux 服务器,请运行以下命令:
systemctl status zabbix-agent
如果它死了
systemctl reload zabbix-agent
systemctl enable zabbix-agent
【讨论】:
【参考方案4】:改变/etc/zabbix/zabbix_agentd.conf的值,把zabbix的ip地址改成127.0.0.1 它对我有用
【讨论】:
以上是关于Zabbix 无法从 Agent 获取值(中断的系统调用)的主要内容,如果未能解决你的问题,请参考以下文章