我已在特定时间段内禁用通知,如下所示:
define timeperiod{
timeperiod_name test
alias Except test Hours
monday 08:20-08:15
[etc..]
sunday 08:20-08:15
}
因此,如果某项服务在 08:15-08:20 之间发生故障,我不会收到邮件通知。今天刚好发生该服务又故障了 2 个小时,我原本希望在 notification_period 内恢复时收到一封电子邮件。
如果服务符合通知时间并且服务状态仍为“严重”,我该如何告诉 Nagios 发送通知电子邮件?
编辑:
我的第一个方法是错误的,所以我听从了建议并使用了排除句点,如下所示:
define timeperiod{
timeperiod_name test2
alias test2
use 24x7
exclude test
}
define timeperiod{
timeperiod_name test
alias Except test Hours
thursday 12:15-12:25 # it was thursday when I tested
}
和服务检查:
define service{
use generic-service
service_description TEST
check_command check_nrpe!check_TEST
host_name some.host.here
notification_period test2
}
和服务模板:
define service{
name generic-service
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 1
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 0
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
is_volatile 0
check_period 24x7
max_check_attempts 2
check_interval 120s
retry_interval 60s
contact_groups admins
notification_options w,u,c,r
notification_interval 120s
notification_period 24x7
register 0
}
但我仍然没有收到通知。但是,如果我手动重新安排服务检查或重新加载 nagios,我会收到通知。