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 进程内的检查逻辑启动主动检查。为了监控远程机器上运行的主机和服务,Nagios 执行插件并告知要收集哪些信息。然后插件在远程机器上执行,在那里收集所需的信息并将其发送回 Nagios 守护进程。根据接收到的主机和服务状态,将采取相应的措施。
下图显示了一个主动检查:
这些检查按 check_interval 和 retry_interval 定义的定期间隔执行。
被动检查由外部进程执行,并将结果返回给 Nagios 进行处理。
被动检查的工作原理如下:
外部应用程序检查主机/服务的狀態,并将结果写入外部命令文件。当 Nagios 守护进程读取外部命令文件时,它读取并发送队列中所有被动检查以供稍后处理。定期处理这些检查时,将根据检查结果中的信息发送通知或警报。
下图显示了一个被动检查:
因此,主动检查和被动检查之间的区别在于,主动检查由 Nagios 运行,而被动检查由外部应用程序运行。
当您无法定期监控主机/服务时,这些检查非常有用。
Nagios 存储其监控的主机和服务的状态,以确定它们是否正常工作。在许多情况下,故障会随机发生并且是暂时的;因此,Nagios 使用状态来检查主机或服务的当前状态。
有两种类型的状态:
- 软状态
- 硬状态
软状态
当主机或服务在很短的时间内停止运行并且其状态未知或与之前的状态不同时,则使用软状态。主机或服务将反复测试,直到状态永久为止。
硬状态
当执行 max_check_attempts 并且主机或服务的状态仍然不是 OK 时,则使用硬状态。Nagios 执行事件处理程序来处理硬状态。
下图显示了软状态和硬状态。