Я попытался настроить установку 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 - это Core 3.3.1, работающий на OpenBSD 5.2.
Проверки хоста и проверки служб почти полностью не связаны, за исключением неявной зависимости службы от связанного с ней узла.
Вы настроили проверка хоста для вашего настраиваемого периода времени, но проверка службы использует тот период, который указан в шаблоне, который она использует. Добавьте check_period в определение службы, чтобы исправить это.
В качестве альтернативы вы можете использовать свой настраиваемый период времени в качестве параметра notification_period для службы, если вы просто хотите подавить уведомления во время резервного копирования.
Кроме того, не то, чтобы исключения может быть сломан в 3.3.x, как отмечено в этой строке из История версий Nagios ниже 3.2.0:
Известная проблема: проверки служб, определенные с периодами времени, содержащими директивы «exclude», неправильно переназначаются. Не используйте их сейчас - мы исправим это в версии 3.4.
... так что вы можете захотеть обновиться до 3.4.x или 3.5.0 (последняя на момент написания).
Я не могу это проверить прямо сейчас, но думаю check_period
ибо услуга унаследована от my-default-service
и отменяет check_period
из определения хоста.
И я также считаю, что в этот интервал лучше подавлять только уведомления.
Может тебе стоит просто изменить notification_period
. Вы по-прежнему будете получать предупреждение на вашем интерфейсе nagios, но в эти часы никаких уведомлений не будет.