我已经阅读了大量有关此问题的文章,并尝试用自己的方法解决它,但仍然没有成功。
我已经运行 debian 7 作为 nagios 服务器。问题是我无法通过基于 nrpe 扫描的插件检查我的 Active Directory 域控制器 (Win Server 2003) 的状态 -https://www.itefix.no/i2/check_ad
192.168.1.12-我的域控制器
win 服务器上的 NRPE 正在工作并且正确监听:
root@nagios:~ > check_nrpe -u -H 192.168.1.12 -p 5666
I (0,4,1,102 2013-07-15) seem to be doing fine...
但是当我尝试通过插件检查 AD 时,它失败并出现以下错误:
root@nagios:~ > check_nrpe -u -H 192.168.1.12 -p 5666 -c check_ad
No handler for command: check_ad
顺便说一句:我成功地直接从 win 服务器运行了这个命令:
这是我的 NSClient++ 配置(我已启用外部脚本检查): 目录:\Program Files\NSClient++\nsclient.ini
CheckExternalScripts = 1
并将其添加到文件底部:
[NRPE Handlers]
check_ad=scripts\check_ad.exe --dc
check_ad_member=scripts\check_ad.exe –-member
答案1
我找到了解决方案。看来 nsclient 在运行外部命令时遇到了一些问题。我不想再深入研究它,所以现在我在 ADDC 上使用 2 个 nrpe 服务器。1 - 标准 NSClient++ 用于收集有关正常运行时间、存储和其他信息。2 - nrpe_nt.0.8b - 用于监控 Active Directory 状态
只需将其下载到服务器并通过以下方式安装:
cd C:\nrpe_nt.0.8b-bin\bin\
NRPE_NT.exe -i
然后我将监听端口改为配置文件“nrpe.cfg”,这样它就不会与 nsclient++ 冲突
服务器端口=5667
添加本机的ip地址:服务器地址=192.168.1.12
允许来自我的 nagios 服务器的连接:允许的主机=192.168.1.250
允许命令参数:不要责怪_nrpe=1
最后添加命令“check_ad”:命令[check_ad]=C:\nrpe_nt.0.8b-bin\bin\check_ad\check_ad.exe --member
答案2
编辑配置文件时您是否重新启动了 nsclient++ 服务?
根据我的经验,我更喜欢使用 Winrpehttps://www.itefix.no/i2/winrpe。我认为它比 nsclient++ 更不容易混淆。