Nagios 检查服务而不是主机是否启动

Nagios 检查服务而不是主机是否启动

我正在寻求这方面的一些指导。我们有 8 台移动服务器,其中一台随时可能离线并被移动到其他位置。我不希望 Nagios 在系统离线时向我发送警报。我希望它只在服务、CPU 过热等情况下发送警报。目前,除了系统宕机时我会收到警报之外,我一切都运行良好。

正如我所说,这些服务器在两周内不断在线和离线。因此,如果在星期六凌晨 3:00 收到系统离线的消息,我并不关心。我更担心的是过热问题。所以,对于如何解决这个问题,有什么建议吗?

答案1

您可能希望关闭主机通知,而不是主机检查。Nagios 仅在认为主机正常运行时才对服务故障发出警报;如果您关闭主机检查,那么当主机消失时,您将收到大量服务通知。

要关闭主机通知,请notification_optionsn如下方式设置:

define host {
    use                    generic-host
    host_name              example
    address                192.168.1.254
    notification_options   n
}

generic-host(假设你有其他地方的定义)

答案2

不确定我是否理解正确,但您只想要服务通知,而不是主机检查?

如果是这种情况,您可能可以在配置中执行此操作,但过去我只是进入 Web 界面,单击“主机详细信息”,然后单击主机,然后单击“禁用此主机的通知”。

也许对于配置,您只是没有check_command在主机定义或主机定义继承的任何模板中指定?

更新:
notification_options好的,所以也许你想在服务 中做到这一点,你不包括u“在 UNREACHABLE 状态下发送通知”。它可能是这样的service_notification_options,看看这个对象定义Nagios 文档的部分。

我认为您可以采取的另一种方法是使服务成为主机检查的依赖项,并且不会收到主机检查的通知。不过,我对这个选项不太确定。

这些都不是确切的答案,但希望能为您指明正确的方向......

答案3

如果我理解正确的话,您想要监控连接到主机的服务而不是主机本身。

关键是使用主机定义才不是定义check_command。例如,您可能正在扩展主机定义linux-server- 这确实定义了 check_command,因此不合适。相反,您应该使用generic-host例如

define host{
    name                            nocheck-host
    use                             generic-host
    }

需要注意的一点是,如果 Nagios 已将您的主机置于“关闭”状态,则在 Nagios 重新启动后,它可能仍处于关闭状态。由于 Nagios 认为主机已关闭,因此它不会发送服务通知。为了解决这个问题,您可以向主机发送被动检查,以强制 Nagios 重置该主机的状态(从 Web 前端执行此操作)。

相关内容