我的代理/服务器配置正确,我知道这一点,因为它正常工作。我刚刚对代理端的防火墙进行了更改,限制了端口 10050 的访问,但允许服务器访问,如下所示:
$ firewall-cmd --new-zone=zabbix
$ firewall-cmd --reload
$ firewall-cmd --get-zones
$ firewall-cmd --permanent --zone=zabbix --add-rich-rule='
rule family="ipv4"
source address="<<server_ip>>"
port protocol="tcp" port="10050" accept'
$ firewall-cmd --reload
$ firewall-cmd --zone=zmonitor --list-all
现在存在通信问题。代理日志报告以下内容:
no active checks on server [<<server_ip>>:10051]: host [<<hostname>>.local] not found
服务器报告以下内容:
cannot send list of active checks to "<<agent_ip>>": host [<<hostname>>.local] not found
Zabbix Web Server 报告以下问题:
Get value from agent failed: cannot connect to [[<<Agent_IP>>]:10050]: [113] No route to host
出什么问题了--add-rich-rule
?
答案1
前两个错误没有关系。它们告诉您,主动检查的主机名配置有误(并且从代理到服务器的连接正常)。
最后一个错误似乎与防火墙无关,至少从错误消息“没有到主机的路由”来看是这样。这更可能是路由/网络配置问题。
为了验证这一点,您可以尝试暂时关闭代理箱上的防火墙,然后从服务器通过端口 10050 进行 telnet 到代理。