fre*_*tma 1 vbscript nagios nrpe
如果在远程服务器上指定插件命令,则可以执行脚本.
在下面的示例中,插件命令是get_disk:
command[get_disk]=csript.exe c:\nagios\checks\check_disks_percentage_spave_used.vbs
Run Code Online (Sandbox Code Playgroud)
但是,我希望远程服务器上的NRPE在客户端服务器上执行脚本,而不需要插件命令.
在远程服务器上这样的事情:
check_nrpe -H 196.35.132.9 -t 60 -c 'csript.exe c:\\nagios\\checks\\check_disks_percentage_space_used.vbs'
Run Code Online (Sandbox Code Playgroud)
您可以按照以下步骤从nagios运行命令以监视远程计算机
将您的脚本/插件/可执行文件放在slave机器@/usr/local/nagios/libexec位置.
例如 - /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命令运行时
来自' s/usr/local/nagios/libexec'位置的'test.sh' (第7点)
现在在从nagios尝试之前,您可以直接调用nrpe命令来检查一切是否正常,通过以下命令
/ usr/local/nagios/libexec/check_nrpe -H slave_IP_Address -c testScript
PS这与nagios在场景后面运行的命令完全相同
| 归档时间: |
|
| 查看次数: |
4061 次 |
| 最近记录: |