У нас есть 3 шаблона для сервисов, low-priority
, high-priorty
и medium-priorty
. К контактной группе прикреплены низкоприоритетные услуги low
, к контактной группе прикреплены услуги средней приоритетности medium
и высокий приоритет (хорошо, вы, наверное, поняли).
Службы с низким приоритетом не уведомляют, уведомления со средним приоритетом отправляются по электронной почте, а предупреждения с высоким приоритетом отправляются по электронной почте и телефону. Но они этого не делают (пока)
Что мне нужно сделать, так это указать, что все предупреждения, генерируемые high-priorty
службы должны запускать команды уведомления notify-service-by-email
и notify-service-by-phone
. Из чтения документации (и моих знаний о Nagios) единственный известный мне способ установить команды уведомлений - это service_notification_commands
в контакте, но это будет означать, что для каждого контакта потребуется два определения: одно для телефона и одно для электронной почты. Как бы я получил high-priority
услуги по вызову notify-service-by-phone
команда?
Больше информации;
;High priority service (Alert by call, 1 min check period)
define service{
name high-priority-service
notifications_enabled 1
normal_check_interval 1
contact_groups high
use generic-service
register 0
}
;Med priority service (Alert by email, 5 min check period)
define service{
name med-priority-service
notifications_enabled 1
normal_check_interval 5
contact_groups medium
use generic-service
register 0
}
;Low priority service (No alert, 10 min check period)
define service{
name low-priority-service
normal_check_interval 10
use generic-service
register 0
}
(generic-service
это шаблон по умолчанию из конфигов NAGIOS с некоторыми настройками)
define service{
use high-priority-service
hostgroup_name generic-server-nrpe
service_description SSH
check_command check_ssh
}
define contactgroup{
contactgroup_name low
alias Low Priority Notifications
members sam,[...]
}
define contactgroup{
contactgroup_name medium
alias Medium Priority Notifications
members sam,[...]
}
define contactgroup{
contactgroup_name high
alias High Priority Notifications
members sam,[...]
}
define contact{
name generic-contact
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
register 0
}
define contact{
contact_name sam
use generic-contact
alias Sam
email sam[...]
address1 +44[...]
}
Похоже, вам нужно дважды определить свои контакты. Одно определение должно получать уведомления только по электронной почте, а другое определение - по электронной почте и по телефону.
define contact{
name generic-contact-high
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email,notify-service-by-phone
host_notification_commands notify-host-by-email
register 0
}
define contact{
name generic-contact-med
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
register 0
}
Ваши контакты должны быть определены в соответствии с этими двумя типами контактов:
define contact{
contact_name sam-high
use generic-contact-high
alias Sam
email sam[...]
address1 +44[...]
}
define contact{
contact_name sam-med
use generic-contact-med
alias Sam
email sam[...]
address1 +44[...]
}