搜索看看
下发指令批量执行说明
主要用于给一个或者多个被监控主机下发指令,然后agent主动从server拉取和执行指令,比如一些重启程序、关机、备份数据库的命令等,都可以通过此功能实现
不仅可以下发指令,也可以执行脚本(被控主机上的脚本)
1、若不使用下发指令,可在配置server/config/application.yml关闭即可,改为no,关闭后不能再添加、下发指令,只能浏览之前的指令
#是否开启指令下发(若关闭,将不能再新增和下发指令),yes是,no否 shellToRun: no
2、agent主机若想禁止执行下发指令,可在配置agent/config/application.properties关闭即可,如下改为no,默认是no(v3.4.5开始默认为yes)
#是否允许agent执行server下发的指令,yes是,no否 shellToRun=no
若在下发指令执行结果页面提示【agent已禁用指令下发】,也在上面配置修改成yes就可以了,修改完重启agent
3、指令可以取消
在列表点击【取消】即可,尚未下发的主机将不会执行指令,已下发过的主机会执行。指令【删除】,功能等同于取消指令,删除后也不会执行指令了
4、已完成状态
,表示指令已经全部下发完
5、下发执行结果回显
,v3.5.6版本开始支持,下发指令执行完成后,在页面显示执行后的结果
6、立即下发和定时下发
立即下发,是下发的指令保存完成后,会在5分钟内交给agent执行。
企业版本支持最快10s内将下发指令执行完成
定时下发,则在到了设置的时间才会下发执行,还可以设置连续多少天在相同的时间点执行该指令
7、已下发状态
表示指令已经下发执行,如果指令长期显示已下发,没有更新为已完成状态,说明agent可能已执行但没有上报执行完成状态,
不过也没有关系,没有影响。这种可能是重启agent、关机这种指令,使得agent没来得及上报执行状态,agent服务就停止了
8、对于屏蔽的敏感字符串,系统做了双重校验,如果指令包含有这种敏感字符,系统会拒绝下发执行
添加时候校验一次,agent执行前校验一次。对于windows,agent本身没有权限执行del等操作,因为需要提示确认
屏蔽敏感字符可以自定义修改
,在配置server/config/application.yml修改如下配置项即可,修改后需要重启server程序生效
#指令下发不能包含的敏感字符,小写即可,多个用逗号隔开 shellToRunBlock: 'rm ,mkfs, /dev/,:(){:|:&};:,mv ,wget , install ,del ,delete ,format ,ren ,rd ,rd/s/q ,rmdir '
9、
下发指令需要为后台运行、不用交互、短时间内(120s内)可以执行完成的脚本或者指令
如后台运行的脚本、备份、重启关机指令等,因为agent执行不能长时间(不超过120s)等待执行完成,只负责调用后就算完成了任务
比如reboot就可以下发给agent执行,但是top这种等待输出的指令就不适合下发执行
10、每次选择主机太多,提交时候报错【400】
server日志文件出现错误提示:
java.lang.IllegalArgumentException: Request header is too large
我们只需要在server的配置文件中,添加一个参数就好了,在port上面添加如下参数max-http-form-post-size,注意左对齐,添加完成后重启下server程序就生效了
server: tomcat: max-http-form-post-size: 50MB port: 9999
11、
指令下发批量执行功能视频讲解
使用指令下发模块批量修改agent配置文件
使用指令下发模块,重启主机,远程关机,批量重启agent程序