背景
在阿里云ECS上用docker启动zabbix-server服务,昨晚服务端
在docker的宿主机上安装zabbix-agent2客户端,结果获取数据报错
一、zabbix web上出现
zabbix Get value from agent failed: cannot read from socket: [104] Connection reset by peer
1. Debug 过程:
1.1 在zabbix server 上使用get 命令时出现:
1.2 查看zabbix_agent 日志出现failed to accept an incoming connection: connection from "28.44.20.129" rejected, allowed hosts: "192.168.1.17"
2.报错原因:
zabbix server监听全网地址,agent监听内网地址
3.解决办法:
把zabbix_agentd.conf中 的server把zabbix_server的公网和内网地址都加行。然后agent就可以正常获取到值了
[root@zabbix]#cat zabbix_agent2.conf
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=172.17.0.3 //docker容器的地址
ServerActive=172.17.0.3 //docker容器的地址
Hostname=172.16.61.107 //docker宿主机的地址
Include=/etc/zabbix/zabbix_agent2.d/*.conf
PluginSocket=/run/zabbix/agent.plugin.sock
ControlSocket=/run/zabbix/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf