Примеры применения
03.10.2020

Zabbix-уведомления на почту через NetPing со встроенным GSM-модемом


«Из-за незабитого гвоздя потеряли подкову,
Из-за потерянной подковы потеряли лошадь,
Из-за потерянной лошади гонец не доставил послание,
Из-за недоставленного послания проиграли войну…»
Японская притча

Мониторинг инфраструктуры — важнейшая задача для любого системного администратора. Для сбора информации, поступающей от различных устройств, чаще всего применяются такие универсальные системы мониторинга, как Zabbix. Данные можно визуализировать с помощью встроенных инструментов, но они достаточно сложны для настройки. Поэтому часто используется такой сторонний инструмент, как Grafana. Zabbix-оповещения же настраиваются через уведомления на электронную почту или с помощью интеграции в корпоративный мессенджер, например Slack.
В любой, даже хорошо налаженной, системе есть критичные узлы, отказ которых может привести к самым плачевным последствиям. Мониторинг этих узлов позволяет прогнозировать отказы или принимать правильные решения, если что-то пошло не так. Парадокс в том, что система мониторинга сама по себе является критичным узлом.

Разумеется, резервирование такого узла — первое, о чем стоит подумать, благо Zabbix поддерживает прокси для сбора данных от имени централизованного сервера мониторинга. Но на этом работа по обеспечению отказоустойчивости не заканчивается. При определенных условиях слабым звеном может стать канал связи, даже если он зарезервирован.

Большинство компаний уже давно отказались от концепции «серверная в офисе» и размещают свое оборудование в стойках дата-центров. Это снимает множество проблем с обеспечением комфортного микроклимата для оборудования, потерей связности или электропитания. Но не все так идеально, как хотелось бы. Сегодня мы расскажем о трех кейсах, когда система мониторинга не сможет оповестить системного администратора.

Рассматриваемая IT-инфраструктура представляет собой серверную стойку с оборудованием, размещенную в дата-центре Tier III, то есть все системы зарезервированы на уровне провайдера.

Возможные проблемы

Потеря связности

Рис. 1 — неисправность пограничного маршрутизатора

Чаще всего для обеспечения периметра между глобальной и локальной сетью устанавливается пограничный маршрутизатор. Его задача проста — обеспечить нужным устройствам выход в интернет, а если основной канал связи провайдера недоступен, то выполнить переключение на резерв.

Что произойдет, если сервер мониторинга находится внутри периметра, а пограничный маршрутизатор выйдет из строя? Правильно — сообщения мониторинга до системного администратора не дойдут. Глобально сбой станет виден как потеря связности со стойкой, но для выяснения истинной причины потребуется привлечение технической поддержки провайдера, инженеры которого смогут посмотреть на физическое состояние оборудования. Пока не станет ясно, что произошло, нельзя будет принять соответствующие меры.

DDoS-атака

Рис. 2 — доставка уведомлений в обход основного канала связи

Точно так же, как и в случае выхода из строя пограничного маршрутизатора, DDoS-атака, направленная на то, чтобы забить канал связи, приводит к полной или частичной недоступности сервиса. В условиях «массированной бомбардировки» пакетами уведомления от системы мониторинга могут либо дойти с задержкой, либо вообще не дойти. Все это время сервис де-факто работать не будет, а системному администратору потребуется взять контроль над ситуацией.

Решением может быть как временная отправка всех пакетов в black-holе, так и включение защиты от атак. И чем быстрее это будет сделано, тем меньше будет простой сервиса. Корректная настройка мониторинга плюс доставленные вовремя уведомления позволят минимизировать ущерб от атаки и предпринять правильные действия.

Недоступность почтового сервера

Рис. 3 — доставка уведомлений при недоступности основного почтового сервера

В подавляющем большинстве случаев уведомления от систем мониторинга настраиваются с помощью электронной почты. Это удобно, поскольку оповещения сразу поступают ответственным лицам, а по истории почтового ящика можно восстановить события с точностью до секунды. При каких условиях Zabbix не сможет доставить уведомления? Это может произойти, если почтовый сервер по каким-либо причинам перестанет работать.

Несмотря на популярность различных сторонних почтовых сервисов, многие системные администраторы предпочитают внутри организации использовать собственноручно настроенные почтовые серверы, на которые чаще всего и привязывают доставку уведомлений.

Чего не хватает?

Во всех трех описанных сценариях проблемы возникают из-за отсутствия так называемого узла-свидетеля, не зависящего от каналов связи провайдеров дата-центра. Один из интересных вариантов организации такого узла — решение UniPing server solution v3/SMS.

Рис. 4 — внешний вид устройства

Устройство с форм-фактором 1U предназначено для установки в стандартную 19" стойку. Его основная задача — мониторинг состояния различных датчиков:

Такое оборудование идеально подходит для мониторинга состояния серверной стойки, а GSM-модем позволяет доставлять СМС-оповещения без привязки к интернет-каналу. Но этим его возможности не ограничиваются. Помимо штатных функций устройства, одной из недокументированных возможностей является отправка email-уведомлений с использованием резервного GPRS-канала, который обеспечивается встроенным GSM-модемом.

Настройка и особенности

Прежде всего определимся с логикой взаимодействия. При наступлении определенного события триггер в Zabbix должен вызывать пользовательский скрипт оповещения. Этот скрипт обращается к странице /at.html веб-интерфейса устройства, последовательно выполняя команды на установку соединения, отсылку сообщения с содержанием уведомления и разрыва соединения.

Устройство NetPing взаимодействует с GSM-модемом при помощи AT-команд, что позволяет легко создать bash-скрипт, передающий команды с помощью curl.

Рассмотрим форму /at.html

<form name="frm">

<input name="cmd"/>

<input type="button" value="Send" onclick="send()"/>

</form>

Тут все просто — для отправки команды нам нужно передать:

curl --user <логин>:<пароль> -d "cmd=<AT-команда>" http://<адрес устройства>/at.html

Ответ от выполненной команды запрашивается CGI-скриптом:

curl --user <логин>:<пароль> http://<адрес устройства>/atget.cgi

Осталось лишь понять, какими AT-командами следует оперировать. Разделим их на две группы: соединение с интернетом и отправка сообщения.

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

Перед установкой соединения зададим несколько переменных:

  1. AT+SAPBR=3,1,«CONTYPE»,«GPRS» — устанавливаем тип соединения.

  2. AT+SAPBR=3,1,«APN»,«Адрес APN мобильного оператора» — задаем имя точки доступа.

  3. AT+SAPBR=3,1,«USER»,«Имя пользователя» — задаем имя пользователя.

  4. AT+SAPBR=3,1,«PWD»,«Пароль» — задаем пароль.

Теперь можно установить соединение командой:

AT+SAPBR=1,1

Отправка еmail

Как и при настройке соединения, вначале определим переменные:

  1. AT+EMAILCID=1 — задаем CID параметра для email-сессии.

  2. AT+EMAILTO=30 — задаем значение тайм-аута для SMTP-сервера.

  3. AT+SMTPSRV="Адрес почтового сервера", Порт подключения — указываем адрес нашего почтового сервера и порт для подключения.

  4. AT+SMTPAUTH=1,"Имя пользователя","Пароль" — данные для авторизации на почтовом сервере.

  5. AT+SMTPFROM="E-mail адрес","Название устройства" — указываем email-адрес и название устройства в качестве имени отправителя.

  6. AT+SMTPRCPT=0,0,"E-mail адрес","Имя получателя" — указываем email-адрес и имя получателя.

  7. AT+SMTPSUB="Тема письма" — задаем тему письма.

  8. AT+SMTPBODY="Текст" — текст уведомления.

Отправляем письмо:

AT+SMTPSEND

Завершаем соединение:

AT+SAPBR=0,1

Уведомления отправлены системному администратору, даже если основной и резервный канал связи в дата-центре оказались недоступны.

Что в итоге

Мы не просто так рассматривали три возможные проблемы, при которых сообщения от системы мониторинга не смогут дойти до системного администратора. UniPing server solution v3/SMS легко решит эти проблемы за счет независимости от каналов связи провайдера инфраструктуры и сможет сразу оповестить о наличии сбоя посредством электронной почты.

Подобное устройство в серверной стойке предоставляет больший контроль над ситуацией и дает следующие преимущества:

  • определение источника проблемы (виноват ли провайдер в сбое или же проблема носит локальный характер);

  • более точное планирование RTO (промежутка времени, в течение которого система будет оставаться недоступной);

  • понимание, в каком состоянии находится оборудование, без привлечения технической поддержки провайдера инфраструктуры.

Чем раньше системный администратор получит всю вышеперечисленную информацию, тем быстрее проблема будет решена, а бизнес получит объективные прогнозы сроков восстановления сервиса.


  • Устройство UniPing server solution v3/SMS

Основные теги


Каталог устойств мониторинг серверных комнат и шкафов
Все устройства
Устройство UniPing v3
Устройство UniPing server solution v3/SMS
Устройство NetPing 2/PWR-220 v1/SMS
Устройство NetPing IO v2
Устройства NetPing
Каталог датчиков для устройств NetPing
Устройство NetPing 8/PWR-220 v3/SMS
Устройство NetPing 2/PWR-220 v3/ETH
Устройство NetPing 2/PWR-220 v2/SMS
Устройство NetPing 4/PWR-220 v3/SMS
Устройство NetPing SMS
Устройство NetPing /PWR-220 v3/ETH
Адаптер WiFi VAP11N
Коммутатор PS104GT
Устройство NetPing Mini-UPS
Коммутатор NP-SM4
Сплиттер POE 12В (стандарта 802.3af)
IRC-TR v2 (ИК модуль расширения)
Каталог устройств удалённого управления и распределения электропитания NetPing
Устройство UniPing server solution
Устройство UniPing server solution v3
Датчик разбития стекла (Стекло-3 ИО 329-4), 2м
Переходник для NetPing IO v2
Устройство NetPing PWR68-01
Датчик мониторинга 220В 1-wire
Адаптер DKST910.8
Устройство NetPing DKST61-01
Блок питания 48В 1,5А (мод.HRS20005)
Датчик температуры TS, 1м
Датчик температуры, (T811), 2м
Датчик температуры WT, 1м
Датчик протечки, модель 2605, 2м
Датчик протечки H2О
Датчик температуры 1-wire, (THS), 2м
МАЯК-12-СТ
Датчик движения (PYRONIX COLT QUAD PI ПИК детектор), 2м
Датчик движения (SWAN-QUAD ИК детектор квадросенсор), (2м)
BM8070D Силовое реле 16А/250В на DIN-рейку
MP701 Исполнительный элемент (4 независимых канала по 2 кВт 10А)
Датчик дыма комбинированный (дым/тепло) ИП 212/101-2М-A1R с базой Е412NL
МОЛЛЮСК-12/1,5
Внешний ИБП SKAT-12DC-1.0 Li-ion
ИКС-1 извещатель охранный инфракрасный активный однолучевой
Датчик охранный (Извещатель охранный ИО102-20/Б2П, 2м)
Блок розеток SNR-PDU-08S-1
Устройство NetPing 2/PWR-220 v4/SMS
Устройство UniPing server solution v4/SMS
Устройство NetPing 8/PWR-220 v4/SMS
VT592 кабельный датчик протечки
WLC10 кабель протечки
NetPing Connection board v2 (коммутационная плата для UniPing v3)
Инжектор питания POE (стандарта 802.3af)
NetPing датчик наличия электропитания 995S1
Устройство NetPing 2/PWR-220 v12/ETH
Устройство NetPing 2/PWR-220 v13/GSM3G
Датчик наличия 220В (мод. HRS05005), 1.5м
NetPing удлинитель-разветвитель 1-wire на 5 портов, модель R912R1
NetPing датчик качества электропитания 1-wire 910S20
▼ Все теги
Новинки
NetPing датчик качества электропитания 1-wire 910S20
Датчик предназначен для мониторинга качества электропитания в розетке. Датчик должен быть подключен подробнее...

Цена: 2 240 руб.

NetPing удлинитель-разветвитель 1-wire на 5 портов, модель R912R1
Активный удлинитель-разветвитель для подключения датчиков 1-wire к устройствам NetPing5 портов для подключения подробнее...

Цена: 1 400 руб.

Устройство NetPing 2/PWR-220 v12/ETH
Управляемый блок удаленного распределения питания по сети Ethernet/Internet (IP PDU)2 независимые управляемые подробнее...

Цена: 8 157 руб.

Устройство NetPing 2/PWR-220 v13/GSM3G
Управляемый блок удаленного распределения питания по сети Ethernet/Internet (IP PDU) c поддержкой управления подробнее...

Цена: 13 732 руб.

NetPing датчик наличия электропитания 995S1
Датчик позволяет определить наличие напряжения в розетке питания. Выполнен в корпусе блока питания с подробнее...

Цена: 1 224 руб.

WLC10 кабель протечки
Чувствительный кабель для использования совместно с датчиком VT592. Может быть смонтирован в труднодоступных подробнее...

Цена: 6 700 руб.

VT592 кабельный датчик протечки
Датчик предназначен для работы совместно с кабелем протечки WLC10. Возможность подключения датчика как подробнее...

Цена: 3 800 руб.

-+ руб. руб.
Итого руб.

Данные о заказе