Nagios 的“排除”指令不排除时间范围

Nagios 的“排除”指令不排除时间范围

我尝试设置我的 nagios 安装来检查 SMTP 服务的可用性外部它的备份时间。不幸的是,它似乎忽略了此配置:

# 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。

答案1

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

您已配置主机检查针对您的自定义时间段,但服务检查使用的是其所用模板中定义的 check_period。将 check_period 添加到您的服务定义中即可解决此问题。

或者,如果您只想在备份期间抑制通知,则可以使用自定义时间段作为服务的通知周期。

此外,并不是排除3.3.x 版本可能会出现问题,正如Nagios 版本历史在 3.2.0 下:

已知问题:使用包含“排除”指令的时间段定义的服务检查被错误地重新安排。暂时不要使用这些 - 我们将在 3.4 中修复此问题

...所以您可能需要升级到 3.4.x 或 3.5.0(撰写本文时的最新版本)。

答案2

我现在无法测试它,但我认为check_period该服务是从主机定义继承my-default-service并覆盖的。check_period

而且我还认为最好只抑制该间隔内的通知。

答案3

也许你应该改变一下notification_period。在这几个小时内,你仍然会在 nagios 前端收到警告,但不会触发任何通知。

相关内容