Уведомления по email это конечно удобно, но не оперативно. Если вы в поездке или просто отошли от рабочего места, то вы никогда не узнаете что ваши сервера или сервисы неожиданно перестали работать.
Чтобы исправить эту ситуацию я использую отправку уведомлений посредствам смс-сообщений. И сегодня расскажу как настроить отправку смс в Nagios.
Выбор шлюза для отправки
Существует несколько способов отправки смс:
Купить телефон и sim-карту какого-либо провайдера связи, подключить телефон к серверу и отправлять через него смс. Этот способ не удобен тем, что требует физического доступа к серверу, добавляет проблем с обслуживанием самого телефона и т.д. А каких-то плюсов я не знаю вообще, думаю это просто было актуально в былые времена.
Халявные смс через email-гейты и сервисы отсылающие смс по каким-то событиям, например через Google Calendar. Если нет совсем денег и имеется много времени на бесполезный труд - это ваш выбор.
Отправка через сервисы, естественно не бесплатно, но и не так дорого. Например, есть такой достаточно дешевый (от 30 копеек за смс), удобный и с виду качественный сервис LittleSMS, с помощью которого я и решил отправлять смс.
Естественно я сначала обсудил с друзьями какими сейчас сервисами они пользуются, получился вот такой топик на форуме. Помимо LittleSMS можно воспользоваться другими сервисами и даже комбинировать их, но это вы уже сами, в статье я сделаю реализацию только для одного сервиса.
Регистрируемся в LittleSMS и пишем скрипт для отправки смс
Идем на страницу регистрации и указываем данные, которые требует форма. После регистрации входим в раздел Настройки API и копируем API-key. После чего, войдите в раздел Имена отправителя и укажите имя отправителя, тоже самое имя надо будет указать в скипте sendsms.py (переменная DEFAULT_SENDER), либо можно каждый раз передавать аргументом при вызове:
sendsms --sender MYSENDER ...
Изучив API сервиса LittleSMS я написал вот такой простой скрипт sendsms.py. Он не заточен только под Nagios, а может использоваться повсеместно на сервере для разных нужд. Давайте его установим:
Для избежания ошибок отправки большого сообщения (т.е. множества маленьких смс), например через pipe, я предусмотрел флаг --read-bytes READ_BYTES, которой по умолчанию отправляет первые 256 байт, вы можете изменять это значение:
Все эти стандарные макросы можно посмотреть в документации.
Далее надо указать, что для наших пользователей, помимо команды notify-host-by-email и notify-service-by-email нужно вызывать также команды notify-host-by-sms и notify-service-by-sms, для этого надо изменить шаблон для контактов, откройте файл templates.cfg:
В Debian, по умолчанию, не используют шаблоны для контактов, поэтому директивы service_notification_commands и host_notification_commands надо задавать непосредственно в контакте (либо вы сами должны сделать шаблон и использовать его, помоему это будет правильнее).
Ну и наконец, укажем наши номера телефонов в контактах, откройте на редактирование файл contacts.cfg (в Debian это conf.d/contacts_nagios2.cfg):
Здесь мы указали "_phone" вместо "phone", так как кастомные переменные назначаются с префиксом "_", за подробностями идите на страницу Custom Object Variables.
Перезагружаем Nagios и ждём sms'ок:
# во FreeBSD
/usr/local/etc/rc.d/nagios restart
# или в Debian
/etc/init.d/nagios3 restart
Если нетерпится, то входим в веб-интерфейс Nagios, выбираем любой сервис и жмем на "Send custom service notification", заполняем форму и сабмитим. Через секунды вы должны получить смс.
В том же веб-интерфейсе Nagios можно посмотреть оповещения и команды которые эти оповещения отправили, это раздел "Reports > Notifications", ищите там "notify-service-by-sms" в столбце "Notification Command".
Попробуй заюзать http://sms.ru.
У них ценник чуть пониже, + если ты отправляешь на свой номер (который указал при регистрации), то это делается бесплатно.
http://littlesms.ru/price
Стоимость 1 СМС составит от 30 коп.
http://sms.ru/
Стоимость 1 СМС составит от 25 коп. На свой номер (указанный при регистрации) БЕСПЛАТНО
http://smsc.ru/
Стоимость 30 коп.
http://www.sms16.ru/
Стоимость 1 СМС составит 50 коп.
http://sms24x7.ru/price/
До 50 копеек за 1 СМС. + можно юзать бесплатно (аттачат рекламу) http:// sms24x7.ru/api/free-sms-gate/
http://www.mxtelecom.com/
Были проблемы с киррилицей иногда (когда смс разбивалась на части) и для некоторых клиентов доходило в неправильной кодировке
А кто что может сказать по поводу www.sms.gt , обещают за 7 копеек от любого количества, неужели действительно и 50 штук можно отправить по такой цене?
Теперь актуален 1й вариант =) все сервисы быстренько сворачиваются.
sim + huawei e173 + dongle + asterisk. и звонить можно по voip Чего хотели- того добились скажи нет роумингу по всему миру =)
avisosms закрылся =) успели перекинуть клиентов.
smsunion закрылся без предупреждения, 1к.р. денег ушло в фонд помощи озеленения луны.
Комментарии
Попробуй заюзать http://sms.ru.
У них ценник чуть пониже, + если ты отправляешь на свой номер (который указал при регистрации), то это делается бесплатно.
Прикольно, потом расскажи понравились ли они тебе в обслуживании?
Решил продублировать список сервисов с пыхи:
http://littlesms.ru/price
Стоимость 1 СМС составит от 30 коп.
http://sms.ru/
Стоимость 1 СМС составит от 25 коп. На свой номер (указанный при регистрации) БЕСПЛАТНО
http://smsc.ru/
Стоимость 30 коп.
http://www.sms16.ru/
Стоимость 1 СМС составит 50 коп.
http://sms24x7.ru/price/
До 50 копеек за 1 СМС. + можно юзать бесплатно (аттачат рекламу) http:// sms24x7.ru/api/free-sms-gate/
http://www.mxtelecom.com/
Были проблемы с киррилицей иногда (когда смс разбивалась на части) и для некоторых клиентов доходило в неправильной кодировке
https://www.bytehand.com/tariffs
Вот еще некий список, но пока никто не советовал:
Пользуюсь smsc.ru цена: 30 коп
А кто что может сказать по поводу www.sms.gt , обещают за 7 копеек от любого количества, неужели действительно и 50 штук можно отправить по такой цене?
Пиарщики сервиса sms.gt сюда даже заходят, ну ладно, оставим... пока
Feedgee вот сервис каким пользуюсь я. 15 коп.за смс
smstraffic.ru - проверенно нагрузками :)
avisosms.ru - очень доволен, хороше api, проблем никаких нет.
Теперь актуален 1й вариант =) все сервисы быстренько сворачиваются.
sim + huawei e173 + dongle + asterisk. и звонить можно по voip Чего хотели- того добились скажи нет роумингу по всему миру =)
avisosms закрылся =) успели перекинуть клиентов.
smsunion закрылся без предупреждения, 1к.р. денег ушло в фонд помощи озеленения луны.
Да, littlesms тоже помер в том году, всех клиентов перенесли на http://smsc.ru/
этот вот из новеньких smsonnet.com
Оставьте свой комментарий