我已经研究这个问题好几天了,但我无法找到解决方案。我有一个安装了 NSClient++ 的 Windows 2012 服务器。我还有一个安装了 Nagios NRPE 插件的 Icinga 服务器。此外,NSClient++ 被配置为接受 NRPE 命令并设置了“允许参数 = 1”。从 Icinga 服务器,当我给出这个输入时:
/usr/lib/nagios/plugins/check_nrpe -H 192.168.1.22 -c alias_cpu
它给出了这个: OK CPU Load ok.|'5m'=27%;80;90 '1m'=26%;80;90 '30s'=26%;80;90
所以一切看起来都很好,但是从 Icinga 网络界面,我得到了这个错误:/usr/lib/nagios/plugins/check_nrpe: option requires an argument -- 'a'
看来我只是无法正确使用命令。我尝试了在互联网上找到的所有命令,但没有一个能正常工作。此外,NRPE 的 NSClient 文档已经过时,因为他们说您应该使用check_nt但该命令已弃用一年多,所以我应该使用 check_nrpe 但这不起作用。
所以我在 /etc/icinga/objects 创建了一个 .cfg 文件,我目前正在使用这些命令:
define host{
use windows-servers
host_name host.domain.com
alias host
address 192.168.1.22
}
define service{
use generic-service
host_name host.domain.com
service_description Drive Usage
check_command check_nrpe!alias_disk
}
define service{
use generic-service
host_name host.domain.com
service_description CPU Load
check_command check_nrpe!alias_cpu
}
在 Windows 服务器上,nsclient.ini 中的设置如下:
[/settings/NRPE/server]
allowed hosts=172.16.0.7
allow arguments=1
port=5666
allow nasty_meta chars=1
use SSL = 1
有谁知道这里出了什么问题?我现在完全没有选择了。我是否给出了错误的命令?有谁知道正确的命令?还是我做错了什么?谢谢!