使用NRPE执行远程脚本

时间:2014-12-05 10:28:13

标签: vbscript nagios nrpe

如果在远程服务器上指定了插件命令,则可以执行脚本 在下面的示例中,插件命令为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'

1 个答案:

答案 0 :(得分:5)

您可以按照以下步骤从nagios运行命令以监控远程计算机

  1. 我们只想说你有2台机器,
  2. 从您想要监控的地方(将其称为主人)
  3. 你想监视谁(将其称为奴隶)
  4. 假设你在linux和主机上工作,nagios位置是" / usr / local / nagios"
  5. 您的奴隶机器也是linux和nrpe安装位置是" / usr / local / nagios"
  6. 将您的脚本/插件/可执行文件放在slave机器@ / usr / local / nagios / libexec位置。

      

    e.g。 - /usr/local/nagios/libexec/test.sh
    并授予其可执行权限。   
    chmod + x test.sh

    1. 编辑nrpe.cfg并将命令添加为
    2.   


      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命令。   

      1. 添加服务

          

        定义服务{
          使用通用服务
          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点)

      2. 现在在从nagios尝试之前你可以直接调用nrpe命令检查一切是否正常通过以下命令

          

        / usr / local / nagios / libexec / check_nrpe -H slave_IP_Address -c testScript   
        P.S。这与nagios将在场景后面运行的命令完全相同