Nagios“排除”指令不排除时间框架

我试图设置我的nagios安装来检查备份时间以外的SMTP服务的可用性。 不幸的是,它似乎忽略了这个configuration:

# a timeperiod to check only outside of zimbra's backup hour # (combining the first with the second timeperiod) define timeperiod { timeperiod_name zimbra-backups alias When zimbra is being backed up sunday 04:00-05:00 monday 04:00-05:00 tuesday 04:00-05:00 wednesday 04:00-05:00 thursday 04:00-05:00 friday 04:00-05:00 saturday 04:00-05:00 } define timeperiod { timeperiod_name always-except-zimbra-backups alias 24x7 except backup time sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 exclude zimbra-backups } 

那么,哪一个与新主机一起使用:

 define host { host_name mailserver-except-backups alias mail server (outside backup hours) address yaddayadda notification_options d,u,r,f use my-default-host check_period always-except-zimbra-backups } define service { host_name mailserver-except-backups service_description SMTP service check_command check_smtp!-t 30 use my-default-service check_interval 2 retry_interval 1 } 

我看不出有什么问题..任何线索? 这是通知电子邮件之一

 ***** Nagios ***** Notification Type: PROBLEM Service: SMTP service Host: mail server (outside backup hours) Address: yaddayadda State: CRITICAL Date/Time: Sat Apr 27 04:03:16 CEST 2013 Additional Info: Connection refused 

Nagios是在OpenBSD 5.2上运行的Core 3.3.1。

主机检查和服务检查几乎完全不相关,除了服务在其相关主机上的隐式依赖性。

您已configuration主机检查您的自定义时间段,但服务检查正在使用它正在使用的模板中定义的check_period。 添加一个check_period到你的服务定义来解决这个问题。

或者,如果您只想在备份期间禁止通知,则可以将自定义时间段用作服务的notification_period。

而且, 在3.3.x版本中 ,这个排除可能不会被打破 ,正如3.2.0 版本的Nagios版本历史logging中的这一行所指出的那样:

已知问题:使用包含“排除”指令的timeperiod定义的服务检查被错误地重新计划。 现在不要使用这些 – 我们将会得到这个固定的3.4

…所以你可能想升级到3.4.x或3.5.0(本文最新)。

我现在不能testing,但我认为服务的check_period是从my-default-serviceinheritance的,并且覆盖了主机定义中的check_period

而且我也认为在这个时间间隔内只抑制通知会更好。

也许你应该改变notification_period 。 你仍然会在你的nagios前端得到一个警告,但是在这几个小时内没有通知会被触发。