Перейти к содержимому
Калькуляторы

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет, 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, почитайте доку, там довольно понятно он описан. Использовать специальные переменные также как и в предыдущем пункте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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 думаю конфиги практически идентичны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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 опередил

Изменено пользователем agr

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо!

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.