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 执行事件处理程序来处理硬状态。
下图显示了软态和硬态。
本章介绍了 Nagios 包含的端口和协议。协议Nagios 使用的默认协议如下:http(s),端口 80 和 443-Nagios 中的产品界面基于 Web。 Nagios 代理可以使用 http 来移动数据。 ...