Zabbix server[24062]: cannot send configuration to proxy "zabbix230236" at "x.x.x.x": ZBX_TCP_WRITE() failed: [104] Connection rest by peer
【环境描述】
操作系统版本:RHEL6.5
zabbix版本:3.0.2
代理版本:3.0.2
【问题描述】
由于日常zabbix接入监控时比较随意,导致大量的监控节点集中于某一个代理上面,导致数据采集压力较高
在做代理拆分的时候发现部分监控node切换到新代理中后无法将数据上传到server节点,但采集却是正常的
查看server端的日志:
查看proxy端的日志:
从两边的日志可以明显看出proxy与server端的数据交互长度超限导致数据无法正常传给server端
可以通过./include/common.h查看ZBX_MAX_RECV_DATA_SIZE参数定义的上限值:
#define ZBX_MAX_RECV_DATA_SIZE (128 * ZBX_MEBIBYTE)
可以看到上限是128MB
导致该问题的原因,一般是接入监控node的item监控项过多导致
排查切换过去的node中发现有docker节点,每个节点上面有很多pod启用后挂载的文件系统比较多
解决方案:针对docker节点单独新建模版,单独制定监控策略,单独用代理承载