Я хотел бы настроить Nagios для отправки страницы один раз каждые 6 часов с понедельника по пятницу, но только один раз каждые 24 часа в субботу и воскресенье. Мне сложно понять, как сделать так, чтобы одна группа администраторов имела две разные частоты пейджинга.
Вот пример того, как это можно сделать, но я надеюсь, что у кого-то есть способ получше. Определите вашу услугу для будних дней:
define service{
name foo-weekday
host_name linux-server
service_description check-disk-sda1-weekday
check_command check-disk!/dev/sda1
max_check_attempts 5
check_interval 5
retry_interval 3
check_period weekday
notification_interval 360
notification_period weekday
notification_options w,c,r
contact_groups linux-admins
}
Затем наследуйте от него, переопределив check_period, notification_interval, notification_period и service_description (которые должны быть уникальными для каждого хоста) на выходные:
define service{
name foo-weekend
use foo-weekday
service_description check-disk-sda1-weekend
check_period weekend
notification_interval 1440
notification_period weekend
}
Изменить: интересно, будут ли работать пользовательские макросы в этой ситуации? Например, есть только одно определение службы:
define service{
host_name linux-server
service_description check-disk-sda1
check_command check-disk!/dev/sda1
max_check_attempts 5
check_interval 5
retry_interval 3
check_period 24x7
notification_interval $USER21$
notification_period 24x7
notification_options w,c,r
contact_groups linux-admins
}
Затем создайте два разных файла ресурсов. Один определяет USER21 как «360», а другой как «1440». Когда начнутся выходные, скопируйте последний на место и перезагрузите конфигурацию nagios. Когда выходные закончатся, скопируйте первое на место и перезагрузите.