Pull to refresh

Nagios: оповещение с помощью SMS без Google Calendar

Reading time2 min
Views6.9K
Прочитал топик SMS-уведомления из Nagios малой кровью и удивился почему автор называет это «малой» кровью…
Хочу рассказать про свой способ оповещения при помощи SMS, при котором время получения сообщения как минимум меньше и как максимум вездесущий Google не узнает номера вашего мобильного телефона.

Теория


Все приведеные ниже рекомендации основаны на том предположении что вы можете подключить такую услугу мобильных операторов как email-to-SMS/SMS-to-email. Услуга работает следующим образом: вы посылаете e-mail на специальный адрес электронной почты, который вам выдает мобильный оператор, а получаете сообщение в виде SMS на ваш мобильный телефон.

В Беларуси такие услуги есть у
МТС
Velcom.
life:) пока имеет такой услуги

В России
Есть у МТС`а: http://www.mts.ru/services/internet/e-mail/, услуга называется немного не так, но позволяет получать почту с rambler.ru и mail.ru.
Так же у них есть услуга E-mail to SMS, но там все зависит от региона.
У Билайна на сайте я такой услуги не нашел, но люди знающие подсказали как ее включить(см. ниже).

Про Украинские телекомы я и вовсе ничего не знаю.

Билайн


Подключаем услугу «СМС на email»: набираем номерок 06849909, ждем СМС о результате подключения новой услуги.
Включаем склейку длинных сообщений: набираем 06849908.
В результате в полученния первой СМС нам придет email с которого все письма будут транслироваться в виде СМС.
Денег БиЛайн не за что не берет.

Важно!
У БиЛайна при отправке сообщения на такой email текст сообщения отправляется до первого знака перевода строки, поэтому удаляем все \n из command_line директивы command (см. ниже).

Настройка


Итак вы подключили услугу, оператор снял у вас денежку, вы выслали на указанный email тестовое письмо и убедились что «все работает». Дальше как обычно начинается процесс конфигурирования.

Добавляем в конфигурацию Nagios новую команду для отсылки оповещений по SMS, назовем ее notify-by-epager:

define command{
        command_name                    notify-by-epager
        command_line                    /usr/bin/printf "%b" "\n\nType:$NOTIFICATIONTYPE$\n$SERVICEOUTPUT$\nTime: $SHORTDATETIME$" | /bin/mail -s "$HOSTALIAS$/$SERVICEDESC$" $CONTACTPAGER$
}


По сути это та-же команда оповещения что и по e-mail с той лишь разницей, что уменьшено количество передаваемой информации (SMS может быть всего 76 символов) и в качестве получателя используется макрос $CONTACTPAGER$, а не $CONTACTEMAIL$(подробнее про макросы в Nagios).

Далее создаем контакт которому мы будем слать SMS:
define contact{
        contact_name                    <USER_NAME>
        alias                           <USER_ALIAS>
        contactgroups                   <CONTACT_GROUPS>
        host_notification_period        <HOST_NOTIFICATION_PERIODS>
        service_notification_period     <SERVICE_NOTIFICATION_PERIODS>
        host_notification_options       <HOST_NOTOFICATIONS_OPTIONS>
        service_notification_options    <SERVICE_NOTOFICATIONS_OPTIONS>
        host_notification_commands      host-notify-by-email, host-notify-by-epager
        service_notification_commands   notify-by-email, notify-by-epager
        email                           <USER_EMAIL>
        pager                           <PAGER_EMAIL>
}


Для того чтобы контакту добавить оповещение через SMS нужно добавить ему строку:
        pager                           <PAGER_EMAIL>


и в опции service_notification_options и host_notification_options добавте notify-by-epager через запятую (см. пример).

Ну вот и все, теоретически вы можете теперь перезагрузить Nagios и попробовать что-нибудь «сломать», вам должно придти SMS сообщение с описанием проблемы.
Tags:
Hubs:
+2
Comments17

Articles