Nagios - 检查和状态


在 Nagios 上配置主机和服务后,将使用检查来查看主机和服务是否按预期工作。让我们看一个在主机上执行检查的示例 -

假设您已将主机定义放入 /usr/local/nagios/etc/objects 目录中的 host1.cfg 文件中。

cd /usr/local/nagios/etc/objects
gedit host1.cfg

这是您的主机定义当前的样子 -

define host {
   host_name host1
   address 10.0.0.1
}

现在让我们添加 check_interval 指令。该指令用于对您设置的数量的主机执行计划检查;默认情况下以分钟为单位。使用下面的定义,每 3 分钟后将对主机执行一次检查。

define host {
   host_name host1
   address 10.0.0.1
   check_interval 3
}

在 Nagios 中,对主机和服务执行两种类型的检查 -

  • 主动检查
  • 被动检查

主动检查

主动检查由 Nagios 进程启动,然后定期运行。Nagios进程内部的检查逻辑启动Active检查。为了监视远程计算机上运行的主机和服务,Nagios 执行插件并告知要收集哪些信息。然后插件在远程计算机上执行,收集所需的信息并将其发送回 Nagios 守护程序。根据主机和服务上收到的状态,采取适当的操作。

下图显示了主动检查 -

主动检查

这些按 check_interval 和 retry_interval 定义的定期间隔执行。

被动检查由外部进程执行,并将结果返回给 Nagios 进行处理。

被动检查的工作方式如下所述 -

外部应用程序检查主机/服务的状态并将结果写入外部命令文件。当 Nagios 守护进程读取外部命令文件时,它会读取并发送队列中的所有被动检查以供稍后处理。处理这些检查时,会根据检查结果中的信息定期发送通知或警报。

下图显示了被动检查 -

被动检查

因此,主动检查和被动检查之间的区别在于主动检查由 Nagios 运行,而被动检查由外部应用程序运行。

当您无法定期监控主机/服务时,这些检查非常有用。

Nagios 存储它正在监视的主机和服务的状态,以确定它们是否正常工作。在很多情况下,故障是随机发生的,并且是暂时的;因此 Nagios 使用状态来检查主机或服务的当前状态。

有两种类型的状态 -

  • 软状态
  • 硬态

软状态

当主机或服务在很短的时间内关闭并且其状态未知或与之前的状态不同时,则使用软状态。主机或服务将被一次又一次地测试,直到状态永久为止。

硬态

当执行了 max_check_attempts 并且主机或服务的状态仍然不正常时,则使用硬状态。Nagios 执行事件处理程序来处理硬状态。

下图显示了软状态和硬状态。

软硬状态