1
CallMeReznov 2020-02-02 21:31:22 +08:00 1
你是说你本身用 zabbix 开 remotecommand 执行命令都正常,比如 helloworld >text.txt 这类命令都能执行成功
只是在执行或调用非系统的命令的软件时报错"time out while executeing a shell script"吗? 还是 parameter 自定义的监控项目取不到值啊????? 第一个你试试全路径 第二个的话你先手动执行自定义项目是否有返回值,还有是否时间比较久,有超时的问题,如果超时的话就把 C/S 的超时时间相应调长 |
2
LCD OP 1,是的,普通操作如重定向输出文本是正常的。2,我试过全路径,结果一样。3,尝试过把服务端和客户端的 timeout 都设置为 30 秒,无效。4,我是使用 adminstrator-script,然后在对应的 host 直接执行脚本。
@CallMeReznov |
3
LCD OP @CallMeReznov 客户端是 xp,脚本是 batch
|
4
nirvam 2020-02-02 23:19:18 +08:00 1
几个问题:1.所以你的脚本确实 30 秒内能执行完么? 2.你的 item key 是什么?
Zabbix 为了防止 agent 阻塞,是有强制的 timeout 限制的,最高 30 秒 |
5
ps1aniuge 2020-02-03 01:49:19 +08:00
https://gitee.com/chuanjiao10/kasini3000
欢迎试试卡死你 3000, 1 在被控机 winxp 上安装。net3.5 sp1 2 在 winxp 上安装 powershell2.0 3 enable-psremoting。 4 在主控机上测试被控机的 5985 端口是否通了。 5 在主控机的 nodelist.csv 上写好被控机 ip,端口,账户,密码等。 6 脚本默认超时时间 1 小时。通过主控机上的 powershell 中调用,在被控机上,支持 powershell 脚本,bat 脚本,vbs 脚本等所有脚本。 在主控机控制,winxp 被控机,和控制 win7,win10 没啥区别。只不过需要安装和开启服务。 当然最简单的是 win2012r2,win2016,的被控机,啥也不用安装,啥也不用设定。 |
6
LCD OP @nirvam 1,没有 itemkey
2,就简单执行 start "" "c:\windows\system32\cmd.exe" |
8
LCD OP @nirvam 可能我的表达有问题。譬如说我想用 aget 远程执行脚本打开一个 cmd.exe 或者一个浏览器之类的程序。
|
9
LCD OP @nirvam administrator-script 添加脚本,然后再 map 对应的 host 执行脚本,就这样子
|
10
nirvam 2020-02-04 16:04:14 +08:00 1
@LCD #9 还是不太理解……如果是说要通过执行命令来获取 value 的话,一般会用到 system.run 这个 item key。这个 key 需要开启 agent 配置文件里的一个参数才能执行
|
11
LCD OP @nirvam 可以执行简单脚本 echo "test">test,不可以执行 c:\windows\system32\cmd.exe 。好奇怪啊,难道只有我遇到这个问题?
|
12
nirvam 2020-02-05 10:06:26 +08:00 1
@LCD #11 只是跑 cmd.exe ,没有任何参数?那应该是不行。这个功能是为了获取有返回值的命令的返回值的,根据你启动 zabbix agent 的用户,一般会执行到后台,等待命令返回结果作为 value 传回 zabbix server。如果一直不返回,多半会被 kill。
远程触发 GUI 程序还是用其他方法吧。 |