历史版本升级说明 / 使用指令下发模块,批量升级Windows主机的agent

这里是Windows主机的agent批量升级说明,如果想批量升级Linux主机的agent请点击查看这里
1、首先我们先升级完server
采用原替换文件方式升级即可
也可以等升级完成agent后,再升级server程序
2、所有agent需要先开启下发指令执行shellToRun=yes(一般默认就是开启的)
一般默认就是yes,才能使用指令下发功能升级所有agent,默认都是开启的
然后采用下面方式升级所有agent,主要依赖server来分发新版agent包来升级,所以在内网、局域网也可以用的
需要升级的agent程序要处于运行状态
3、将新版本的agent/wgcloud-agent-release.exeagent/config/application.properties这两个文件
将它们放到server/logo/文件夹下,不要创建文件夹,直接放进去就好
提示:如果你既有amd64(或者x86-64)的Windows主机,也有32位的Windows主机,那么您可以分批次进行升级,比如先升级完成amd64的主机
再升级32位的agent,只需要替换不同的wgcloud-agent-release.exe文件即可
同一个版本号的application.properties文件都是相同的,如果之前放过,那么就不需要再重复放了
4、下载updateAgent程序 ,这个是专门用来升级agent的程序
下载64位和32位的安装包,将其放到server/logo/文件夹下,不要改名字,直接放进去就好
此脚本升级前会自动备份旧版本的wgcloud-agent-release和config/application.properties,并会将原版本config/application.properties中的配置项值全部赋值给新版本的配置文件
经过3和4准备后,文件夹server/logo/下的文件,如下所示
5、在【指令下发】模块下发指令
这里主要使用windows的powershell命令下载updateAgent程序后,然后运行updateAgent程序,由它进行升级工作
选中需要升级的被控主机下发指令(可以先选中一个主机升级,成功后再继续升级其他主机),注意此时server和agent要处于运行状态
注意把下面指令中的http://localhost:9999替换为自己的server主机实际IP和端口,另外如果是升级32位的windows,那么还需要把updateAgent-win64-v1.4.exe替换为updateAgent-win386-v1.4.exe
6、到此升级就完成了
7、如果需要升级的windows内置的PowerShell版本为2.0或更低,执行错误怎么解决
如果windows主机内置的PowerShell版本为2.0或者更低,可能执行命令错误"无法识别该 cmdlet"
比如win7默认搭载PowerShell 2.0,而 Invoke-WebRequest 是PowerShell 3.0及以上才有的命令,直接运行会报错“无法识别该 cmdlet”
解决方案:若无法升级PowerShell,改用兼容2.0版本的 System.Net.WebClient 类下载文件,替换后的完整命令如下:
把其中的updateAgent-win386-v1.4.exe,改为自己实际使用的文件名称
8、查看视频讲解
9、每次选择主机太多,提交时候报错【400】,如何解决
server日志文件出现错误提示:java.lang.IllegalArgumentException: Request header is too large
我们只需要在server的配置文件中,添加一个参数就好了,在port上面添加如下参数max-http-form-post-size,注意左对齐,添加完成后重启下server程序就生效了
10、其他说明
因为从v3.4.7版本开始,访问server的url不用加/wgcloud了,但是v3.4.7之前版本还是需要加/wgcloud的
所以如果server是v3.4.6或之前的版本,使用下发指令批量升级agent,那么需要将updateAgentToNew.sh中的两个地方修改下,如下在${paramServerUrl}后加/wgcloud,分别在33行和66行
下发指令端口后也需要加/wgcloud