如果主机关闭,我可以停止监控,而当主机打开时,我可以打开监控吗?

如果主机关闭,我可以停止监控,而当主机打开时,我可以打开监控吗?

我想知道 Nagios 是否有可能在主机关闭时停止监控,并在主机打开时打开监控?

我的想法是使用我的 Nagios 服务器,它将通过使用 API 的脚本来监控 CLIENT 服务器是否关闭,如果 CLIENT 服务器关闭,它将自动删除对它的监控,但如果服务器处于打开状态,它将自动将监控重新安装到模板中,

我之所以需要它,是因为我们还需要监控每小时的客户端服务器,当每小时的服务器关闭时,它就会向我们发送垃圾邮件警报。

我知道有更好的方法;我欢迎每一种解决方案。

答案1

我喜欢 Nagios 的一点是,该框架提供了足够的工具来解决复杂的监控问题。这更像是一种实现这一目标的方法,而不是解决方案。

正如 @kasperd 在上面指出的那样,Nagios 没有一种机制来确定主机是打开/关闭还是损坏。如果您可以编写脚本来确定主机是否“应该打开”,那么这种方法就可以奏效。

Nagios 支持主机和/或服务依赖关系的概念。该概念是,如果其中一个依赖项发生故障,则不会将主机或服务视为发生故障。鉴于此,您可以:

  • 定义需要监控的客户端主机“A”

  • 定义一个“开/关”主机“B”,用于确定主机是否关闭

    • 开发一个自定义检查脚本,用于确定主机是否开启/关闭。如果主机关闭,则检查脚本为关键脚本。如果开启,则检查脚本为正常脚本。
  • 使主机“A”依赖于主机“B”

使用此配置,仅当主机“B”正常时才会处理主机 A 的通知。请参阅文档中的主机依赖关系。作为替代方案,您可以使用自定义主机检查来执行此操作,该检查确定“应该开启”状态和实际状态并返回正确的状态。

答案2

你无法轻松监控主持人如果它将在不确定的时间开启/关闭,但您仍然可以监控主机上的服务。

如果您不启用主机通知,则主机关闭/启动时您将不会收到通知,并且主机关闭时服务通知将被抑制。这意味着主机启动时您将收到服务通知,但主机关闭时则不会收到任何通知。Web 界面看起来会很乱,但通知逻辑会起作用。

或者,您可以使用被动检查(而不是主动检查),只需让主机按照某个计划提交服务检查结果(例如通过 cron)。

要真正实现你具体要求的(主机关闭时自动删除监控)需要使用自适应监测,这是一个相当高级的话题。

相关内容