Прочитал топик 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:
По сути это та-же команда оповещения что и по e-mail с той лишь разницей, что уменьшено количество передаваемой информации (SMS может быть всего 76 символов) и в качестве получателя используется макрос $CONTACTPAGER$, а не $CONTACTEMAIL$(подробнее про макросы в Nagios).
Далее создаем контакт которому мы будем слать SMS:
Для того чтобы контакту добавить оповещение через SMS нужно добавить ему строку:
и в опции service_notification_options и host_notification_options добавте notify-by-epager через запятую (см. пример).
Ну вот и все, теоретически вы можете теперь перезагрузить Nagios и попробовать что-нибудь «сломать», вам должно придти SMS сообщение с описанием проблемы.
Хочу рассказать про свой способ оповещения при помощи SMS, при котором время получения сообщения как минимум меньше и как максимум
Теория
Все приведеные ниже рекомендации основаны на том предположении что вы можете подключить такую услугу мобильных операторов как 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 сообщение с описанием проблемы.