我正在尝试使用 nagios 模拟一个由服务器、路由器和交换机组成的网络,以便最大限度地减少误报/电子邮件泛滥。拓扑相当复杂,主机有一个路由器作为父级,但通过多个 VLAN 上的交换机连接(因此连接到多个路由器)。
我已经安排好让每台服务器都依赖于它所连接的交换机。我阅读了文档,发现如果启用了预测性主机依赖性检查(确实启用了),则应立即检查所依赖的(主)主机,如果发现主主机宕机(但未宕机),则应抑制通知。
我的主机依赖关系采用简单的形式:
define hostdependency {
host_name switch-x
dependent_host_name server-y
notification_failure_criteria d
}
测试使用 iptables 规则集模拟相关的网络中断,阻止对交换机及其所连接服务器的传出访问。
我已经使用 Debian squeeze 的 nagios 3.2.1-2 和 wheezy 的 3.2.3-3 对此进行了测试(在最新的上游 3.3.1 中,我看不到任何相关的变更日志条目)。调试日志确认预期消息base/checks.c
“将预测依赖性检查传播到此主机所依赖的主机...\n”从未出现。
当路由器(模拟)关闭时的行为是正确的;路由器后面的主机显示为不可达而不是关闭,并且不会发出通知。
这里出了什么问题?
答案1
您将主机依赖关系与父/子主机关系混淆了。主机依赖关系对网络拓扑的反映没有影响。您应该使用父母/子女关系。