如果在远程服务器上指定了插件命令,则可以执行脚本
在下面的示例中,插件命令为get_disk
:
command[get_disk]=csript.exe c:\nagios\checks\check_disks_percentage_spave_used.vbs
但是我希望远程服务器上的NRPE在客户端服务器上执行脚本,而不需要插件命令 在远程服务器上是这样的:
check_nrpe -H 196.35.132.9 -t 60 -c 'csript.exe c:\\nagios\\checks\\check_disks_percentage_space_used.vbs'
答案 0 :(得分:5)
您可以按照以下步骤从nagios运行命令以监控远程计算机
将您的脚本/插件/可执行文件放在slave机器@ / usr / local / nagios / libexec位置。
e.g。 - /usr/local/nagios/libexec/test.sh
并授予其可执行权限。
chmod + x test.sh
vi /usr/local/nagios/etc/nrpe.cfg
添加以下行
命令[testScript] = / usr / local / nagios / libexec / test.sh 告诉nrpe在收到testScript命令时运行test.sh
8.重启nrpe
9.转到主机
10.编辑commands.cfg
vi /usr/local/nagios/etc/objects/commands.cfg
并添加以下行定义命令{
command_name check_nrpe
command_line / usr / local / nagios / libexec / check_nrpe -H $ HOSTADDRESS $ -c $ ARG1 $
}
通过添加它,现在主机知道什么是check_nrpe命令。
添加服务
定义服务{
使用通用服务
host_name web-node01
service_description计数远程mc中的cmd数 check_command check_nrpe!testScript
}
现在nagios知道它必须在slave机器上调用testScript命令,而在slave机器中我们定义了接收到的testScript命令时运行' test.sh'
来自thi s' / usr / local / nagios / libexec'地点(第7点)
现在在从nagios尝试之前你可以直接调用nrpe命令检查一切是否正常通过以下命令
/ usr / local / nagios / libexec / check_nrpe -H slave_IP_Address -c testScript
的 P.S。这与nagios将在场景后面运行的命令完全相同