Jump to content
Калькуляторы

Nagios notification nagios exit code и их фильтрация

Хотелось бы чтобы Nagios будил ночью только в случае DOWN AND CRITICAL а все остальные события слал утром. Насколько я подозриваю это будет связанно с обработкой exit code.

И так вопрос: Есть ли плагин для этого или какие варианты решения есть?

P.S. На данный момен идея есть только писать скрипт.

Share this post


Link to post
Share on other sites

Нет, exit code отлавливать не надо. Скрипт писать надо.

 

В нагиосе командам можно передавать состояние сервиса или хоста через специальные переменные $SERVICESTATE$ и $HOSTSTATE$ в аргументы команды. У вас есть два пути их использования:

1) Изменить стандартные команды оповещения на свой скрипт.

Вот как выглядит стандартная команда оповещения хоста

command[host-notify-by-email]=/bin/echo -e "***** Nagios *****\n\nHost "$HOSTALIAS$" is $HOSTSTATE$!\n\nDate/Time: $DATETIME$\n" | /bin/mail -s 'Host $HOSTNAME$ is $HOSTSTATE$!' $CONTACTEMAIL$

имена параметров интуитивно понятны. Вместо конвейера 'echo | mail ' напишите свой скрипт, который будет слать алерты в зависимости от $HOSTSTATE$ и времени суток.

 

2) Использовать встроенный механизм event_handler, почитайте доку, там довольно понятно он описан. Использовать специальные переменные также как и в предыдущем пункте.

Share this post


Link to post
Share on other sites

А Time Periods заюзать для этого не пробовали?

Share this post


Link to post
Share on other sites

Точно, все гораздо проще, нужно использовать time periods. Сам ими никогда не пользовался, поэтому как-то не подумал...

Share this post


Link to post
Share on other sites

Или я не внимателен, но в упор не вижу как используя Time Periods можно добится только critical i down меседжей в ночное время.

Не могли бы вы секцию с примером привести.

Share this post


Link to post
Share on other sites

Нечто типа такого

 

define contact{
       contact_name                    TEST-CRIT-DOWN-24x7
       alias                           TEST-CRIT-DOWN-24x7
       service_notification_period     24x7
       host_notification_period        24x7
       service_notification_options    c
       host_notification_options       d
       service_notification_commands   notify-service-by-email, notify-service-by-littlesms
       host_notification_commands      notify-host-by-email, notify-host-by-littlesms
       email                           mail@example.com
pager				+700000000000
       }

define contact{
       contact_name                    TEST-W-U-R
       alias                           TEST-W-U-R
       service_notification_period     workhours
       host_notification_period        workhours
       service_notification_options    w,u,r
       host_notification_options       r
       service_notification_commands   notify-service-by-email, notify-service-by-littlesms
       host_notification_commands      notify-host-by-email, notify-host-by-littlesms
       email                           mail@example.com
pager				+700000000000
       }

 

это из contacts_icinga.cfg

workhours меняйте на нужное в timeperiods_icinga.cfg

 

В nagios думаю конфиги практически идентичны.

Share this post


Link to post
Share on other sites

Наверно придется создать два разных контакта для рабочего и нерабочего времени

define contact {
       name    i-am-home
       host_notification_period        nonworkhours
       service_notification_period     nonworkhours
       host_notification_options       d
       service_notification_options    c
...
}
define contact {
       name    i-am-working
       host_notification_period        workhours
       service_notification_period     workhours
       host_notification_options       d,u,r,f
       service_notification_options    r,u,c,w,f
...
}

 

UPD: ktoto опередил

Edited by agr

Share this post


Link to post
Share on other sites

Спасибо!

Как-кто не подумал что просто в секции рознести можно. Искал сложного пути ..

 

P.S. Прямо саркастичная фраза напрашиваеться :Зачем делать просто, если можно сложно:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this