我有 3 台机器,所有机器都是远程 IP,并且都运行具有远程和本地 IP 地址的 nsclient++:
46.*.*.1/192.168.1.1
46.*.*.2/192.168.1.2
46.*.*.3/192.168.1.3
我希望 nagios/icinga 远程 ping 其他本地机器以查看 VLAN 是否正常工作。
有没有办法告诉 nagios/icinga 使用机器 192.168.1.1 并 ping 192.168.1.2 和 192.168.1.3? check_ping 仅从 icinga 服务器 ping host_name 中定义的机器。 Icinga 位于完全不同的 IP 范围内92.*.*.*
有没有办法做到这一点并查看 VLAN 是否正常工作?
答案1
由于您使用的是 nsclient++,我假设这些是 Windows 主机,以及其他远程执行选项(例如,推送检查) 不可用。但是,nsclient++ 有自己的内置远程执行功能。详情请参见此处:http://www.nsclient.org/nscp/wiki/CheckExternalScripts例如,在 nsclient++ 配置中,包括
[External Scripts]
ping_remote=.\scripts\ping.bat $ARG1$
并且在 nsclient++ 文件夹下有一个简单的批处理文件 scripts\ping.bat,内容如下:
ping %1
如果主机可访问,则退出时代码为 0(Nagios“OK”),如果主机不可访问,则代码为 1(Nagios“警告”)。您可以构建更复杂的批处理脚本,对输出进行更巧妙的处理。
Nagios 的 NRPE 检查可以触发此脚本。定义一个命令如下:
define command {
command_name check_ping_remote
command_line check_nrpe -H $HOSTADDRESS$ -p 5666 -c ping_remote -a $ARG1$
}
然后从其中一个主机的主机配置中启动它:
define service{
host_name your_host_name
service_description Ping VPN
check_command check_ping_remote!192.168.1.2
use generic-service
}