尝试从我的 nagios 服务器获取 Windows 主机的主动检查。此时我甚至没有使用 nagios,只是从命令行运行 check_nt。
- 验证端口是否开放,允许 telnet
- 确保在 nsclient.ini 中配置了不安全模式
- 确保连接主机已输入“允许的主机”
- 此时,安全性不再是问题,因此不需要或不想要加密/密码/等等。
- 为了排除故障,我只运行“CLIENTVERSION”命令,因为它很简单
- 我已确保 nsclient++ 服务具有“允许与桌面交互”选项。
以下是我从允许的主机使用的命令:
check_nt -H 10.10.5.200 -p 12489 -v CLIENTVERSION
这是输出:
[root@nagioshost]# /usr/lib64/nagios/plugins/check_nt -H 10.10.5.200 -p 12489 -v CLIENTVERSION
No data was received from host!
could not fetch information from server
运行“nscp 测试”我可以看到连接已建立但失败了:
D nrpe Accepting connection from: 10.10.7.101, count=1
E nrpe Failed to establish secure connection: short read: 219
c:\source\nscp\include\socket/connection.hpp:243
这是我的 nsclient.ini 字段
[/settings/default]
password = Me0zf92h7f
allowed hosts = 10.10.7.101
[/settings/NRPE/server]
verify mode = none
port = 12489
insecure = true
[/modules]
CheckExternalScripts = 1
CheckHelpers = 1
CheckEventLog = 1
CheckNSCP = 1
CheckDisk = 1
CheckSystem = 1
NRPEServer = 1
答案1
check_nrpe 用于 NRPEServer,check_nt 用于 NSCLientServer
因此,您需要将您的配置移至 NSClientServer 模块以使 check_nt 正常工作,或者更好的是停止使用 check_nt 并移至 check_nrpe*。
[/settings/default]
password = Me0zf92h7f
allowed hosts = 10.10.7.101
[/settings/NSClient/server]
port = 12489
[/modules]
CheckExternalScripts = 1
CheckHelpers = 1
CheckEventLog = 1
CheckNSCP = 1
CheckDisk = 1
CheckSystem = 1
NSClientServer = 1
- 与check_nrpe相比,check_nt 非常有限。