Get value from agent failed: cannot connect to [[192.168.2.100]:10050]: [22]Invalid argument.

昨晚安装一台agent被监控端,遇到一个问题,忘记截图具体报错了,不过和就标题一样,

Get value from agent failed: cannot connect to [[*.*.*.*]:10050]: [22]Invalid argument.

这里我把IP改了下,是被监控机的公网IP,无法连接到agent端,[22]参数无效

就像这样,我百度了半天都没有这样的情况,一般遇到的都是报错[113]之类的,这样的错误通常是防火墙问题造成根本无法连接,而我这个没有,确定两台机器能互相ping通,对应的端口都是对外开放可以访问的。并且从server端使用zabbix_get命令能从agent端拉取到数据,但是web界面就是显示无法连接报错。

纠结了个把小时,确认两台机器都没有任何问题,并且在服务器上推送数据也行,太晚了我就放到今天上午弄了。

现在往回撸一遍,当时的问题是出在配置文件里

SourceIP=

就是它,不管是server端还是agent端都有这个配置,默认是注释行,而我习惯是把这个都写上的,以前也没出过问题,一开始我用的是127.0.0.1,然后在agent端只用了ServerServerActive这两个参数,就是主动被动模式,两个一起写默认主动,这两个地方我写的是server端的公网IP。

发现了agent端少了这个参数后,我就补上了,然而还是不行,依旧是服务器上可以用命令拉取到数据,但是web端就报这个[22]参数无效,在这中间,我还把server端机器的agent里的配置也改了,原本就写的127.0.0.1,改成了公网IP,然后。。。

server端也挂了。。。

最后解决办法是,我把两边的这个参数都删掉了,再重启,就正常变绿了,按照这个参数的注释来说,是指定监控端的源IP,非强制性,不写也无所谓,但是写了应该也是没影响的,server端和agent端两边配置的同是server端IP的话按理说应该是不会出现这个问题的,但是它就是出问题了,想不明白,以后还是不写这个参数了。

并且,在server端本机的agent配置里,我没写这个参数,用了主动模式写的公网IP一样报错,又改成了127.0.0.1才恢复的,把我都给整懵了。

我感觉问题可能是出在IP上,以前都是用的同一内网监控,不需要考虑这个问题,但是跨网段使用公网就出毛病了,监控端用的是云服务器,有公网内网IP,被监控的是实体服务器,只有公网IP,具体是个啥原因还是摸不清楚,记录一下。


版权声明:本文为qq_44697035原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。