Системное администрирование

индекс
199,96

Бесплатная отправка SMS уведомлений в Zabbix

Все осознают необходимость непрерывного контроля большой распределенной сети и для этого есть множество систем мониторинга. Сразу замечу, что я работаю у крупного провайдера и на мои, так сказать, плечи ложится контроль состояния большого количества узлов доступа, которые зачастую находятся на очень большом удалении от меня.
После опробования OpenNMS, TclMon я остановил свой выбор на TclMon, подкупил своей простотой и наглядностью.
С ростом сети и увеличением количества опрашиваемых параметров функционала TclMon перестало хватать. Взгляд упал на систему мониторинга Zabbix, на тот момент это была версия из ветки 1.6.
Гибкие возможности и много вкусных плюшек заставили её изучить. Сейчас активно использую ветку 1.8 не смотря на все баги и ошибки которые там есть. Сейчас удалось прикрутить постоянный контроль параметров абонентских линий ADSL на всех узлах доступа, порядка 200 000 параметров. Описания как это было сделано хватит на отдельную статью.

Я же расскажу как сделать простым и доступным способом оповещение о каких либо событиях посредством SMS, и не использовать для этого ни специфического железа ни веб сервисов для отправки SMS (в большинстве своем платных). Решение выходит полностью бесплатным при использовании телефонов оператора Билайн. (других операторов не изучал, но буду рад если подскажете).
Есть сайт beonline.ru на котором можно узнать как включить получение писем с e-mail в виде SMS-сообщений. Делается это либо звонком по бесплатному номеру 06849909 либо отправкой на номер 784 следующей команды: СИМ ВКЛ-ПОЧТАНАСМС ДА.
В ответ придет SMS СИМ> ВКЛ-ПОЧТАНАСМС ДА (Ваш телефон имеет Почтовый-адрес: 79031234567@sms.beemail.ru). <П> — подробнее.

Запоминаем это адрес, хотя что там запоминать?

Все наверно догадались, что дальше необходимо настроить уведомления по e-mail на полученный выше адрес, но не все так просто. Zabbix не позволяет стандартными средствами отправлять уведомления по e-mail если smtp сервер требует аунтификацию.
Выход есть — использование сценариев которые можно найти на форуме Zabbix'a.
Я использовал вариант с sendEmail.

Создаем скрипт zabbix_sendemail с правами доступа 755

#!/bin/sh
export smtpemailfrom=zabbix@yourdomain.com
export zabbixemailto=$1
export zabbixsubject=$2
export zabbixbody=$3
export smtpserver=yoursmtpserver.com
export smtplogin=smtpuser
export smtppass=smtppassword

/usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsubject -m $zabbixbody -s $smtpserver:25 -xu $smtplogin -xp $smtppass

подставив необходимые данные и сохраняем его в каталоге который указан в качестве AlertscriptsPath в файле конфигурации /etc/zabbix/zabbix_server.conf
### Option: AlertscriptsPath
# Location of custom alert scripts
#
# Mandatory: no
# Default:
AlertscriptsPath=/home/zabbix/bin/


Следующим действием необходимо создать новый Тип средства передачи в меню АдминистрированиеТипы средств передачи.
В описании пишем к примеру send email
тип выбираем сценарий
Название скрипта пишем zabbix_sendemail
Сохраняем.

Задаем средство передачи для пользователя которому нужно будем отправлять SMS. Делается это в меню АдминистрированиеПользователи. Выбираем нужного пользователя нажимаем добавить средство передачи.
Тип — выбираем send email
Отправлять — вводим полученный e-mail от Билайна
Дальше по желанию (лучше можете оставить по умолчанию).

Теперь необходимо создать действие на триггер которое и будет отправлять нам SMS.
Делается это в меню НастройкаДействие.

Создадим действие на недоступность железа.

Имя SMS
Событие Триггер
Тема по умолчанию {TRIGGER.NAME}: {STATUS} (не имеет особого значения так как SMS придет без темы)
Сообщение по умолчанию {HOSTNAME} unreachable {STATUS}
Сообщение восстановления ставим при необходимости получать сообщение о восстановлении и заполняем по аналогии с выше написанным

Дальше выбираем условия действия
Я делал так, можете написать те условия которые Вам необходимы.
Тип калькуляции (A) and (B) and © and (D) and (E)
(A) Группа узлов сети = «особо важные»
(B) Описание триггера содержит «недоступен»
© Важность триггера = «Чрезвычайная»
(D) Значение триггера = «ПРОБЛЕМА»
(E) Период времени в «1-7,08:00-23:59»


При совпадении всех условий срабатывает отправка сообщения.

Настраиваем операцию на действие
Тип операции Отправить сообщение
Отправить сообщение Один пользователь
Отправлять только send email
Сообщение по умолчанию ставим крыжик.
Сохраняем.

Сообщение придет при наличии сработавшего триггера содержащего в описании «недоступен» в группе узлов сети «особо важные» и во все дни недели с 8 утра до 12 ночи.
И так мы получили систему уведомления посредством SMS не использовав никаких сложных или платных решений.

PS Статья написана пользователем sersad, который не зарегистрирован на Хабре, но хотел бы тут быть и публиковать интересные статьи.

UPD Вторая статья «Автоматическое переименование хостов в Zabbix, по данным из snmp sysName»
UPD2 Благодарю за карму, перенес в соответствующий блог.

_________
Текст подготовлен в ХабраРедакторе
+8
22 января 2010, 20:09
34
osj

комментарии (17)

0
chifram #
Сейчас удалось прикрутить постоянный контроль параметров абонентских линий ADSL на всех узлах доступа, порядка 200 000 параметров. Описания как это было сделано хватит на отдельную статью.

очень хотелось бы увидеть данную статью
0
osj #
Автор обещал, что она будет, как только он появиться на хабре;)
на крайний случай, я ему всегда рад помочь.
0
sersad #
Чуть позже как будет время начну её писать
+1
exitusletaris #
Минус этого метода в том, что сообщения приходят иногда с очень большим опозданием, а в системах мониторинга важна оперативность. Говорю не на пустом месте, прикручивал похожие вещи на @sms.beemail.ru.
0
osj #
Дополнительно есть круглосуточный оперативный персонал который наблюдает за узлами через веб морду. Тестовые прогоны в течении недели показали задержку доставки СМС от не скольких секунд до нескольких минут, но не более 2 минут вышло, и то один раз. По нашим регламентам устранения неисправностей все вполне в нормах. И особого влияния не окажет. Плюс сообщения дублируются в Jabber.
+2
CWN #
вам просто повезло, у меня на @sms.beemail.ru сообщения иногда доходили с задержкой в 5-6 часов. Также экспериментировал с мониторингом, в том числе и с Zabbix'ом.

Вообще, для большой компании надежнее и дешевле купить GSM шлюз, ну или прикрутить к серверу старую мобилу ;-)

PS. Кстати, Zabbix еще умеет на Jabber отсылать сообщения, очень удобно ;-)
+1
osj #
Таким способом мониторится оборудование уровня доступа. Все оборудование уровня агрегации и выше находиться круглосуточно под постоянным контролем оперативного персонала. По поводу жабера первое, что было поднято это уведомления в жабер.

и ещё, вот пример уведомлений:
(20:14:08) zabbix@xxx.ru: Алярма!!! Ахтун!!11один Голактеко в опастностЕ!
железка xxx-koshnorui накрылась медным тазом.
недоступен: PROBLEM
(20:15:39) zabbix@xxx.ru: Бобер выдыхай, отпустило железяку xxxxx-koshnorui.
недоступен: OK
+1
RubyRoid07 #
Кажется, его написал некий Mr. Creamer…
+1
RubyRoid07 #
Ой, простите, перепутал вкладку, не к той теме комментарий написал :-[
0
osj #
было бы замечательно если бы топик перенесли в Системное администрирование.
0
exitusletaris #
Вы сами сможете это сделать, когда ваша карма станет > 5. Помог чем смог, удачи вам со следующей статьёй.
0
osj #
спасибо большое.
0
kpblca #
Я вам кармы дал. Нужно эту статью перетащить в Сисадинство. Стоящая.
0
osj #
Автор рад, что статья вам понравилась. Жаль что его нет самого на хабре.
Топик будет обязательно перенесен.
0
cyberstyle #
есть ли что-то подобное у MTS? не хотелось бы покупать отдельную симку =(
0
hexes #
Есть: 7913xxxxxxx@sms.mtslife.ru
0
Nafan #
[некропостинг]Может что-то за прошедшее время изменилось, но вот задержка писем у sms.beemail.ru просто гигантская. Два часа :(

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.