Icinga/Nagios 在本地网络上 ping 不同的机器

Icinga/Nagios 在本地网络上 ping 不同的机器

我有 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
}

相关内容