zabbix客户端无法上传数据

昨天发现有一台Windows服务器无法向zabbix服务端汇报数据。经过检查Windows上的客户端日志,可以看到以下错误。

 31976:20200206:154445.873 active check configuration update from [192.168.3.61:10051] started to fail (cannot connect to [[192.168.3.61]:10051]: [0x00002747] 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。)

检查客户端zabbix进程处于运行状态,并没有明显问题。首先,尝试重启启动客户端的代理服务,服务能够正常重新启动。但是日志中的错误依旧。环境中的zabbix客户端都采用active的方式主动向服务器汇报数据,以减轻服务器的负载。但是其他服务器依然能够正常汇报数据,因此排除zabbix服务器本身的问题。需要从这台服务器本身入手。

根据关键字”系统缓冲区空间不足或队列已满,不能执行套接字上的操作“搜索,觉得是系统网络上连接数可能满的问题。增加连接数需要修改注册表。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

新建一个REG_DWORD值,MaxUserPort

这个值定义了Windows可以对外发起的连接数量,默认不存在这个键值。系统可以发起5000个连接。由于问题是刚发生的,尝试将这个值改为15000,并不需要盲目的按照网上说的改成65535。需要根据服务器的实际应用负载修改。如果是服务器本身的程序问题,很快又会将15000个连接占满的。如果直接改到最大,那么可能就不能发现是否还有问题,并造成服务器性能耗尽。

https://www.cnblogs.com/qishine/p/12272956.html
修改这个键值并不需要重启就能生效。重新启动zabbix客户端程序,这次日志中没有报错了。数据也能正常显示了。问题解决。

猜你喜欢

转载自www.cnblogs.com/qishine/p/12272956.html