我正在使用Nagios来监视Windows主机。 我正在使用在Centos 7服务器上运行的Nagios 3.5。 以下软件包已经从官方存储库和EPEL存储库中安装:
nagios nagios-plugins-all nagios-plugins-nrpe
到目前为止,我正在使用'check_nt'方法在Windows主机上运行一些基本的检查。 这工作正常。
现在我想使用check_hwinfo插件在一个地方收集有关主机的信息。 这个插件需要NRPE才能运行。
在'commands.cfg'文件中我添加了:
define command{ command_name check_hwinfo command_line $USER1$/check_nrpe_hwinfo $HOSTNAME$ $HOSTADDRESS$ }
在'nrpe.cfg'中我添加了:
command[check_hwinfo]=/usr/bin/sudo /usr/lib64/nagios/plugins/check_hwinfo.pl command[check_hwinfo_csv]=/usr/bin/sudo /usr/lib64/nagios/plugins/check_hwinfo.pl -t csv command[check_hwinfo]=c:\windows\system32\cscript.exe //NoLogo //T:10 "C:check_hwinfo\check_hwinfo.wsf" command[check_hwinfo_csv]=c:\windows\system32\cscript.exe //NoLogo //T:10 "C:\check_hwinfo\check_hwinfo.wsf" /sep:csv
我已经在'/ usr / lib64 / nagios / plugins'文件夹中复制了'check_hwinfo.pl'脚本,并使其成为可执行文件,并具有与该文件夹中其他脚本相同的权限。
我已将这些行添加到“/ etc / sudoers”中,以便在没有密码的情况下执行:
Defaults:nagios !requiretty nagios ALL=NOPASSWD: /usr/lib/nagios/plugins/check_hwinfo.pl "", /usr/lib/nagios/plugins/check_hwinfo.pl -t csv
在客户端,我正在监视的Windows主机上运行NSClient ++。 对于check_hwinfo,我创build了文件夹“C:\ check_hwinfo”,并将其放在Windows上运行testing所需的“check_hwinfo.wsf”文件中。
这是我的nsclient.ini ,这是我的nsclient-full.ini文件。
虽然所有其他检查(通过check_nt)工作正常,但无论我尝试什么,check_hwinfo都拒绝工作。 Nagios页面的服务状态是'WARNING',错误信息是'No command for command:check_hwinfo_csv'。
有没有人有check_hwinfo的经验? 你能指点我正确的方向吗?
更新1:
当试图运行check_nrpe manualy我得到这个:
./check_nrpe -H 192.168.10.13 -c CheckDisk No handler for command: checkdisk
这和我在check_hwinfo插件的GUI中得到的错误信息是一样的
No handler for command: check_hwinfo_csv
更新2:
在Windows客户端的nsclient-full.ini文件中,我有以下定义:
check_hwinfo=C:\check_hwinfo\check_hwinfo.wsf check_hwinfo_csv=C:\check_hwinfo\check_hwinfo.wsf -t csv
该错误表示您没有启用外部脚本处理程序。 幸运的是, nsclient ++在这个主题上有很好的文档 。
(看起来他们目前正在重新编写wiki / docs,所以如果缺less某些东西,你可能也想检查一下。)