我有一个被动服务,该服务无法正常运行。这是一个异步服务。状态更改后,它将发送NRDP被动消息。因此,如果警报响起,它将发出警告消息,并且在纠正警报后,状态将更改并发出OK消息。收到警报后,负责人会收到有关问题的通知。
问题在于,在3分钟的freshness_threshold之后,nagios将其重置为OK状态,并向负责人发送了OK通知(根据“通知”页面)。我认为,根据我读过的每篇文章,它会变成批判性的(但可能是主动的)。
我的服务缓存配置如下:
define service {
host_name sensorshost
service_description sensor-116
display_name sensor-116
check_period 24x7
check_command check_dummy!0
contact_groups sensor-116-contact-group
notification_period 24x7
initial_state o
importance 0
check_interval 5.000000
retry_interval 1.000000
max_check_attempts 1
is_volatile 0
parallelize_check 1
active_checks_enabled 0
passive_checks_enabled 1
obsess 1
event_handler_enabled 1
low_flap_threshold 0.000000
high_flap_threshold 0.000000
flap_detection_enabled 0
flap_detection_options a
freshness_threshold 180
check_freshness 1
notification_options r,w,u,c
notifications_enabled 1
notification_interval 60.000000
first_notification_delay 0.000000
stalking_options n
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
}
答案 0 :(得分:1)
Nagios documentation始终是一个好的起点:
新鲜度检查如何工作?
Nagios定期检查所有主机的结果是否新鲜 启用了新鲜度检查的服务。
- 为每个主机或服务计算新鲜度阈值。
- 对于每个主机/服务,将其最后检查结果的期限与更新阈值进行比较。
- 如果最后检查结果的年龄大于新鲜度阈值,则检查结果被视为“陈旧”。
- 如果检查结果陈旧,Nagios将通过执行指定的命令来强制对主机或服务进行主动检查
提示:即使在程序范围或特定于主机或服务的基础上禁用了活动检查,也会执行活动检查。
在您的情况下,如果被动检查结果早于180
个时间单位(通常为秒,但这是可配置的),则将进行“主动检查”(即您的check_command
)设法纠正这种情况。
Nagios将退出代码映射到服务状态,因此,如果check_dummy!0
以代码0
退出,这将解释为什么服务返回到正常状态。