agent主机下线问题,agent上报监控数据错误,agent日志打印防篡改校验失败或者防篡改校验错误次数大于10次,不再上报数据

系统是如何判定监控主机agent下线的
我们耐心按照顺序依次排查下,一般就如下这几个原因,挺简单的
1、 可能是agent主机ping不通server主机,或访问不到server端口
agent日志文件(在agent/log目录下)如果出现如下错误信息,表示agent主机ping不通server主机,网络不通
......
[wgcloud-agent]2024/12/02 10:44:21 WgcloudAgent.go:89: 主机监控信息上报server开始
[wgcloud-agent]2024/12/02 10:44:23 WgcloudAgent.go:93: 主机监控信息上报server错误: Post "http://192.168.1.2:9999/agentGo/minTask": dial tcp 192.168.1.2:9999: connectex: No connection could be made because the target machine actively refused it.
[wgcloud-agent]2024/12/02 10:44:23 WgcloudAgent.go:56: runtime error: invalid memory address or nil pointer dereference
[wgcloud-agent]2024/12/02 10:44:25 WgcloudAgent.go:152: 主机监控Ext信息上报server错误: Post "http://192.168.1.2:9999/agentGo/minTaskHostExt": dial tcp 192.168.1.2:9999: connectex: No connection could be made because the target machine actively refused it.
[wgcloud-agent]2024/12/02 10:44:25 WgcloudAgent.go:111: runtime error: invalid memory address or nil pointer dereference
......
我们可以在agent主机使用命令 ping [server主机IP] 来测试网络连通性
agent日志文件如果出现如下错误信息,表示agent主机telnt不通server的端口,网络连接超时,可能是防火墙没开放端口
......
[wgcloud-agent]2024/12/02 10:48:05 WgcloudAgent.go:89: 主机监控信息上报server开始
[wgcloud-agent]2024/12/02 10:48:25 WgcloudAgent.go:93: 主机监控信息上报server错误: Post "http://192.168.1.2:9999/agentGo/minTask": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
[wgcloud-agent]2024/12/02 10:48:25 WgcloudAgent.go:56: runtime error: invalid memory address or nil pointer dereference
[wgcloud-agent]2024/12/02 10:48:45 WgcloudAgent.go:152: 主机监控Ext信息上报server错误: Post "http://192.168.1.2:9999/agentGo/minTaskHostExt": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
[wgcloud-agent]2024/12/02 10:48:45 WgcloudAgent.go:111: runtime error: invalid memory address or nil pointer dereference
......
我们可以在agent主机使用命令 telnet [server主机IP] 9999 来测试端口的连通性
2、 检查下agent配置文件的serverUrl
可能是其中的字符格式有问题,比如逗号和冒号写成了中文字符,也可能是IP或者端口书写错误
3、 server和agent的主机系统时间差不能大于16个小时
若时间差不超过16小时打印【防篡改校验错误】类似信息,忽略即可,不会有影响
4、 是不是agent的进程wgcloud-agent被kill掉了,或者agent主机重启或断电,导致agent没有运行
我们再把agent启动就可以了
agent进程莫名奇妙的被kill停止运行,如何处理
5、 wgcloud-server-release.jar不要编辑修改
也不要改文件名称,若编辑过,请还原到安装包里的原始wgcloud-server-release.jar即可
6、 server和agent要保持同一个版本号
如何查看server和agent的版本号
7、server端的守护进程(wgcloud-daemon-release)不要关闭
特别是Windows不要关闭守护进程窗口。若是Linux,守护进程可能是被kill了,查看守护进程是否还存活(ps -ef | grep wgcloud
还有一种可能是server或者agent部署在Windows,不小心左键点击了程序运行的黑色窗口,进入了【选择】模式,鼠标右击恢复就好了,如下图
如果是此原因导致的话,重启server即可(守护进程会随着server启动),1小时内所有被控端agent会陆续恢复上线,也可以手动重启agent(立即上线)
8、 修改了守护进程wgcloud-daemon-release的默认端口导致的,但是server配置文件中没有同步修改守护进程端口
查看修改说明
9、查看server本机是否能正常访问http://localhost:9997获得返回值
如:2faa233a1400201bedc199fe1d8ab393,若server主机的localhost不能使用,可以在配置文件server/config/application.yml,将如下配置项中的localhost改成server主机ip
注意,如果改成IP后,检查下是否有防火墙拦截该端口9997
10、在server日志看看,是不是server连不上数据库了
如果是这种情况的话,处理好server后,agent就会在1小时内陆续上线,也可以重启agent会立即上线
11、server如果运行在ARM、MIPS等CPU架构的系统,需要将守护进程wgcloud-daemon-release替换为对应的版本
点击下载
12、如果server或守护进程(wgcloud-daemon-release)长时间没有启动运行
那么当server重新启动后,agent会在1小时内陆续自动恢复上线,不用重启agent。也可以手动重启agent,会立刻恢复上线
13、检查是不是有安全软件,设置了一些过滤规则,导致agent无法将数据上报给server
有的防火墙设置了规则很奇怪,agent可以从server请求获取数据,但是无法给server提交上报数据
14、如果是在docker部署 server
我们检查下是否把config/application.yml中的守护进程url中的localhost改为宿主机ip了,如下
一般需要改下,除非是docker容器内可以访问http://localhost:9997的话,那就可以不改
一般就如上这些原因