是否有可能在服务通知之前在nagios中检查主机

在发送服务失败之前是否有可能让nagios检查主机? 如果主机closures或重新启动,我们会得到很多的服务通知,但只需要1主机下来..

这是一个非常烦人的问题,因为我们将nagios与我们的票务系统联系起来

更新

我不知道发生了什么事,我们有2个Nagios环境,我只是从其他部门inheritance了环境,这是他们的主要抱怨之一(对我来说也是新的,因为我自己的环境有更多的检查,从来没有这个问题)

在清理(几乎没有运行的)环境并在帮助台工具(otrs)中执行它之后,我没有看到这种行为,所以我怀疑这些消息只是在同事的脑海中(因为nagios每分钟发送数次)!

经过几个星期的努力,现在的绿色环保部门对此非常满意。

对不起,我没有closures这个问题之前,并感谢您的时间!

另一个更新 :终于想通了(我认为)。 nagios代理(opsview)崩溃,所以它发送的连接被主机消息拒绝。 我认为这是困扰着IT部门。

某处必须configuration错误,或者主机比服务检查失败更快。 即使在Khaled发布的URL中,当服务改变状态时,主机检查也是按需完成的:

主机由Nagios守护进程检查:

  • 定期按主机定义中的check_interval和retry_interval选项定义。
  • 当与主机关联的服务改变状态时按需。
  • 根据需要按需提供,作为主机可达性逻辑的一部分。
  • 根据需要按需预测主机依赖性检查。

这基本上说,Nagios会检查设置的时间间隔,以及服务何时改变状态。 当一个服务中断(进入WARNING / CRITICAL状态)时,主机检查被执行,如果主机被认为是closures的,它应该禁止服务通知,假设你有这样的configuration。 你能告诉我们你的服务和主机定义,掩盖任何主机名/地址,以保护无辜,如果你想。

作为一个方面说明,我已经使用了Nagios多年,并且在主机处于closures状态时从来没有服务警报,除非我专门configuration了这个function。

旧post,但可能值得一提的是,永久configuration拒绝ping等主机的常见情况,但需要监视一些可见的服务。

在这种情况下,如上所述: Nagios主机closures但服务起来 ,可以使用虚拟检查忽略主机并使用服务。

在这些情况下,我倾向于做一个有意义的主机检查(nagios 3.x)是将主机检查命令更改为在端口上使用check_tcp,我知道端口上有一个受监视的服务,通常是端口80, host-alive用适当的端口调用它:

# Alternative to 'check-host-alive' command for hosts that can't be pinged define command { command_name check-host-alive-alt command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ } 

并configuration主机

 define host { use some-server-template name an-unpingable-webserver # <other host config directives> check_command check-host-alive-alt!80 } 

并依靠服务依赖性来决定是否检查其他服务,并链接到您的票务系统(通过自定义服务通知命令)。 至less你知道主机检查是否closures,有什么问题。

我不认为这是可能的。 Nagios会定期进行服务和主机检查。 另外,它在服务状态改变时检查主机状态。 你可以看看这个页面 。

我想你需要自己实现这个机制,如果你需要的话。 例如,您可以接收并存储服务状态更改。 然后,只有在主机状态没有改变(由于另一次检查或超时之后)时才能发送通知。

这应该可以与依赖关系
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/dependencies.html
下面是该网站的一个片段:

如何testing服务依赖性

在Nagios执行服务检查或发送服务通知之前,它将检查服务是否有任何依赖关系。 如果它没有任何依赖关系,则执行检查或通常发送通知。 如果服务具有一个或多个依赖关系,那么Nagios将检查每个依赖关系条目,如下所示:

  • Nagios获取正在依赖的服务的当前状态*。
  • Nagios比较执行或通知失败时所依赖的服务的当前状态
    依赖关系定义中的选项(无论哪一个与之相关)
    时间)。
  • 如果所依赖的服务的当前状态与失败选项中的一个相匹配,则说明依赖关系具有
    失败,Nagios将跳出依赖检查循环。
  • 如果所依赖的服务的当前状态与依赖项的任何失败选项不匹配,
    据说依赖项已经通过,Nagios将继续检查下一个依赖项。