Бесплатная отправка 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
подставив необходимые данные и сохраняем его в каталоге который указан в качестве AlertscriptsPath в файле конфигурации /etc/zabbix/zabbix_server.conf
Следующим действием необходимо создать новый Тип средства передачи в меню Администрирование — Типы средств передачи.
В описании пишем к примеру 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 Благодарю за карму, перенес в соответствующий блог.
_________
Текст подготовлен в ХабраРедакторе
После опробования 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 Благодарю за карму, перенес в соответствующий блог.
_________
Текст подготовлен в ХабраРедакторе



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