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 获取值(中断的系统调用)的主要内容,如果未能解决你的问题,请参考以下文章

windows下 zabbix agent心跳数据获取异常

zabbix频繁报zabbix_agent无法到达

zabbix-agent服务无法启动故障处理

Zabbix分布式监控系统Zabbix

zabbix监控公网机器

从zabbix的数据库获取数据