2014-12-05 128 views
0

如果您在远程服务器上指定了插件命令,则可以执行脚本。
在插件命令下面的例子是get_disk使用NRPE执行远程脚本

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

这个问题是关于基础设施的管理,不是一个编程话题的背后运行。 – 2014-12-05 12:13:00

回答

3

您可以按照以下步骤来运行从Nagios的命令监视远程机器

  1. 让只是说你有2台机器,
  2. 从你想要监视的地方(将其称为主人)
  3. 你想监视的人(将其称为奴隶)
  4. 假设你在Linux和上位机Nagios的地点工作是“在/ usr /本地/ nagios的”
  5. 你的奴隶机也是Linux和NRPE的安装位置是“在/ usr /本地/ nagios的”
  6. 把你脚本/插件/可执行文件在从属机器@ usr/local/nagios/libexec位置。

    例如 - /usr/local/nagios/libexec/test.sh
    并赋予它可执行权限。
    使用chmod + X test.sh

  7. 编辑nrpe.cfg并且存在添加的命令作为


VI的/ usr /本地/的nagios /等/ nrpe.cfg
附加以下行
命令[testScript] =/USR /本地/的nagios /的libexec/test.sh
告诉NRPE运行test.sh当它ř testScript命令eceives


8.重启NRPE
9.转到主机
10.编辑commands.cfg

VI的/ usr /本地/ Nagios的/等/objects/commands.cfg
并添加以下行

定义命令{
COMMAND_NAME check_nrpe
COMMAND_LINE在/ usr /本地/ Nagios的/的libexec/check_nrpe -H $ HOSTADDRESS $ -c $ ARG1 $
}
加入这个,现在掌握机器知道什么是check_nrpe命令。

  • 添加服务

    定义服务{
    使用通用服务
    HOST_NAME web的NODE01
    SERVICE_DESCRIPTION计数的数目cmd in remote mc
    check_command check_nrpe!testScript
    }
    现在的nagios知道,它在从机,
    和从机调用testScript命令我们当从THI收到testScript命令运行“test.sh”
    定义S'在/ usr /本地/ nagios的/ libexec'的位置(点号。 7)

  • 现在从Nagios的尝试之前,你可以直接调用NRPE命令检查的一切都是由下面的命令

    在/ usr /本地/ Nagios的/的libexec/check_nrpe工作正常-H slave_IP_Address -c testScript
    PS这是完全相同的命令,Nagios将现场

  • +0

    谢谢@GKV,我最终做了这样的事情。必须在125台远程(从机)机器上进行更改 – fredtma 2015-01-08 09:19:12

    +0

    11.添加服务...但在哪里?这似乎通常被忽略的描述。我会想/usr/local/nagois/etc/servers/yourServer.cfg,但添加“定义服务”块会导致nagios服务在该文件中加载失败,导致nagios无法重新启动。 – 2016-04-12 23:51:31

    +0

    向上投票投入答案。它实际上帮助我理解了Nagios是如何工作的:) – 2017-10-20 09:10:54