Nagios 网络主机状态和连通性

介绍

如果您曾经从事过技术支持工作,那么毫无疑问,您已经让用户告诉您“ Internet断开了”。作为一名技术人员,您可以确定没有人从互联网上拔下电源线。用户椅子和Internet之间的某处肯定出了问题。

假定它是一个技术问题,则开始寻找问题。也许用户的计算机已关闭,网络电缆已拔出,或者您组织的核心路由器刚刚潜水。无论问题是什么,最确定的一件事-互联网没有崩溃。该用户恰好无法访问它。

Nagios Core能够确定您正在监控的host处于DOWN还是UNREACHABLE状态。这些状态非常不同(尽管相关),可以帮助您快速确定网络问题的根本原因。以下是可达性逻辑如何区分这两种状态的方法。

示例网络

看一下下面的简单网络图。对于此示例,假设您正在监控所有显示的host(服务器,路由器,交换机等)。Nagios Core已安装并在Nagios Corehost上运行。

示例网络

定义父/子host的关系

为了使Nagios Core能够区分被监控host的DOWN状态和UNREACHABLE状态,您需要告诉Nagios Core这些host如何相互连接-从Nagios Core守护程序的角度来看。为此,请跟踪数据包从Nagios Core守护程序到每个host的路径。数据包遇到或通过的每个交换机,路由器和服务器都被视为“跳数”,并且需要您在Nagios Core中定义父/子host关系。从Nagios Core的角度来看,host父母/子女的关系如下所示:

亲子关系

现在,您知道正在监控的host的父/子关系是什么样子,如何配置Nagios Core以反映它们?您可以通过host定义中Parents指令执行此操作。在此示例中,具有父/子关系的(缩写)host定义如下所示:

define host {
    host_name   Nagios   ; <-- The local host has no parent - it is the topmost host
}

define host {
    host_name   Switch1
    parents     Nagios
}

define host {
    host_name   Web
    parents     Switch1
}

define host {
    host_name   FTP
    parents     Switch1
}

define host 
    host_name   Router1
    parents     Switch1
}

define host {
    host_name   Switch2
    parents     Router1
}

define host {
    host_name   Wkstn1
    parents     Switch2
}

define host {
    host_name   HPLJ2605
    parents     Switch2
}

define host {
    host_name   Router2
    parents     Router1
}

define host {
    host_name   somewebsite.com
    parents     Router2
}

可达性逻辑

现在,您已经为Nagios Core配置了与host正确的父/子关系,让我们看看出现问题时会发生什么。假设两个host-网络路由器1 -脱机。

可达性示例

当host更改状态(即,从UP到DOWN)时,Nagios Core中的host可达性逻辑将启动。可达性逻辑将对任何host更改状态的父级和子级发起并行检查。这使Nagios Core可以在发生更改时快速确定网络基础结构的当前状态。

可达性逻辑

在此示例中,Nagios Core将确定WebRouter1都处于DOWN状态,因为这些host的“路径”未被阻止。

Nagios Core将确定Router1之下的所有host都处于UNREACHABLE状态,因为Nagios Core无法访问它们。Router1处于DOWN状态,并阻止了到其他host的路径。这些host可能运行良好,或者可能处于脱机状态-Nagios Core不知道,因为它无法访问它们。因此,Nagios Core认为它们是“不可拆卸的”而不是“下降”的。

无法到达的状态和通知

默认情况下,Nagios Core将通知联系人有关DOWN和UNREACHABLEhost状态的信息。作为管理员/技术人员,您可能不希望收到有关“host无法连接”的host的通知。您知道您的网络结构,并且如果Nagios Core通知您路由器/防火墙已关闭,您将知道其后面的所有内容均无法访问。

如果要在网络中断期间免于泛滥的UNREACHABLE通知,可以从host定义的notification_options指令和/或联系人定义的host_notification_options指令中排除unreachable(u)选项。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁