为 Nagios 设置依赖项

hfr*_*nco 7 nagios

我正在尝试为路由器和多台服务器设置依赖项。我想要做的是将路由器设置为主主机,这样如果路由器出现故障,服务器上的所有其他服务都不会发出警报。

不幸的是,这说起来容易做起来难。是否有一种简单的方法可以为主主机(或我的路由器)的服务器上的所有服务设置服务依赖关系?

Nagios 有一些文档,但是为每个服务添加单个服务依赖项定义将非常耗时。

http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#servicedependency

Kyl*_*ndt 7

在这种情况下,您想要的不是依赖关系(如 Nagios 所称),而是您想要主机中的父/子关系。如果父节点宕机而子节点无法访问,Nagios 会将它们视为“无法访问”而不是“宕机”。然后,您可以配置为在“无法访问”时不收到通知。您可以在此处的 Nagios 文档中阅读有关此内容的更多信息。

此外,从 2.0 文档的同一部分指出,如果主机关闭,服务将不会发出警报(为您保存这些警报):

每当服务检查导致非正常状态级别时,Nagios 将尝试检查并查看运行该服务的主机是否“活动”。通常这是通过 ping 主机并查看是否收到任何响应来完成的。如果主机检查命令返回非 OK 状态,Nagios 就认为主机存在问题。在这种情况下,Nagios 将“静默”主机上运行的服务的所有潜在警报,并仅通知适当的联系人主机已关闭或无法访问。如果主机检查命令返回 OK 状态,Nagios 将识别出主机是活动的,并且会针对行为异常的服务发出警报。

默认情况下,服务依赖项不可从主机模板继承,但我相信父模板是可继承的。所以你可以从模板继承父母(如果我在这方面是正确的)并为自己节省一些输入。

最后,我实际上喜欢启用无法访问的警报。如果路由器出现故障,我希望我的手机“发疯”。:-)