
Как показал мой скромный опрос, только примерно треть пользователей Nagios используют оповещение при помощи SMS сообщений.
Какой способ оповещения о проблемах вы используете в Nagios?
- E-Mail (67%, 26 голосов)
- Смотрю в web-интерфей (41%, 16 голосов)
- SMS (38%, 15 голосов)
- Jabber/MSN/ICQ (33%, 13 голосов)
- Nagstatmon etc. (21%, 8 голосов)
Всего голосов: 39

Loading ...
На мой взгляд SMS-оповещение один из самых эффективных способов получения информации о проблемах, т.к. мобильный телефон всегда рядом (в отличии от Jabber/E-Mail) и скорость реагирования на проблемы соответственно будет выше. В этой статье я опишу один из способов создания механизма SMS-оповещений который сам активно использую.
0. Теория
Все приведеные ниже рекомендации основаны на том предположении что вы можете подключить такую услугу мобильных операторов как 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, но там все зависит от региона (не силен я в Российской географии, сам я из Беларуси).
У Билайна я такой услуги не нашел.
На этом собственно и заканчиваются мои познания в Российских телекомах (отпишитесь в комментах, если вы знаете о подобных услугах у других операторов).
Про Украинские телекомы я и вовсе ничего не знаю
.
1. Настройка
Итак вы подключили услугу, оператор снял у вас денежку, вы выслали на указанный 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, то просто добавьте строку
и в опции service_notification_options и host_notification_options добавте notify-by-epager через запятую (см. пример).
Ну вот и все, теоретически вы можете теперь перезагрузить Nagios и попробовать что-нибудь «сломать», вам должно придти SMS сообщение с описанием проблемы.