我尝试设置我的 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 前端收到警告,但不会触发任何通知。