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

SMS шлюз для OpenNMS

NetPing SMS в качестве SMS шлюза для OpenNMS

Данная статья является логическим продолжением статьи "Пример мониторинга серверной комнаты на основе OpenNMS и устройств NetPing". В рамках данной статьи будет рассмотрена возможность настройки SMS-оповещения от OpenNMS при помощи шлюза NetPing SMS (SMS шлюз для OpenNMS).

В работе сетевых инженеров и администраторов часто возникает потребность получения оповещений в любое время суток и семь дней в неделю. Какой канал для этого подойдет больше, чем SMS? Использование внешних SMS-сервисов критически зависит от интернет-канала, но как быть, если необходимо получать оповещения о падении этого самого интернет-канала? USB GSM модемы могли бы решить эту проблему, но зачастую их стабильность и уровень поддержки оставляют желать лучшего, мало какой модем может похвастаться работой 24/7 без обслуживания извне (ручная проверка, скрипты или иные средства). Вдобавок, для работы он должен быть подключён к какому-либо серверу или ПК, который в свою очередь будет выступать в роли SMS шлюза - не самая простая и надежная схема. Изящным выходом из данной ситуации станет использование NetPing SMS. Он является самостоятельным устройством, подключаемым к сети Ethernet и выступающим в роли SMS-шлюза для любой системы мониторинга, сервиса или любой иной системы. Также он лишён недостатков, упомянутых ранее - он самодостаточен, ему для работы не требуется интернет-канал и отдельный компьютер, а работа в режиме 24/7 подразумевается сама собой.

Данная статья предполагает, что у вас уже установлена, настроена и корректно функционирует система мониторинга OpenNMS, процесс настройки которой был описан ранее.

Настройка шлюза NetPing SMS для работы с системой мониторинга OpenNMS

Первым и самым главным шагом настройки является настройка сети и параметров доступа, он же является минимально достаточным. Для этого переходим на страницу "НАСТРОЙКИ" (1) web-интерфейса:

Настройки сети (2):

  • IP адрес устройства - 192.168.0.218 (исходя из конфигурации сети);
  • Маска подсети - 255.255.255.0 (исходя из конфигурации сети);
  • Шлюз - 192.168.0.1 (исходя из конфигурации сети, но не обязательно - если OpenNMS и NetPing SMS в одной подсети, в шлюзе нет нужды);
  • DNS сервер - 8.8.8.8 (в данном решении нет необходимости в DNS - устройство не будет обращаться ко внешним сервисам);
  • Порт HTTP сервера - 80 (по умолчанию, скрипт в данном решении использует URL-encoded команды, обращаясь к web-серверу устройства);
  • Порт SNMP агента - 161 (по умолчанию)

Настройки доступа (3):

  • Имя пользователя - visor (по умолчанию, скрипт будет обращаться к устройству используя пару логин/пароль от web-интерфейса);
  • Пароль - ping (по умолчанию, скрипт будет обращаться к устройству использую пару логин/пароль от Web-интерфейса);
  • Community чтения и записи - SWITCH (по умолчанию, в данном решении не имеет значения);
  • Фильтр доступа IP и подсеть доступа IP - 192.168.0.49, 255.255.255.255 (крайне рекомендуется настроить под конкретные нужды, чтобы ограничить доступ третьих лиц к отправке SMS-сообщений);

Подробнее ознакомиться с базовой настройках устройства можно в официальной документации.

Настройка NetPing SMS

Дополнительно, для корректной работы встроенного GSM модема отправки SMS-сообщений убедитесь, что к NetPing SMS подключена GSM антенна, и уровень сигнала приемлем (уровень сигнала 50% и ниже крайне нежелателен). Для проверки уровня сигнала необходимо перейти на страницу "НАСТРОЙКИ GSM" (1), нажать кнопку "Запросить" (2) в разделе "Статус GSM", и через какое-то время появится текущий уровень сигнала (3).

Настройка NetPing SMS

Добавление в систему мониторинга OpenNMS способа оповещения через шлюз NetPing SMS

Для того, чтобы настроить SMS-оповещения от OpenNMS через шлюз NetPing SMS, первым делом необходимо указать, каким образом система мониторинга будет общаться со шлюзом. Для этого необходимо добавить способ оповещения, по которому OpenNMS будет вызывать отдельный скрипт и передавать ему параметры. Начнем со скрипта:

Создадим файл в удобном для нас месте, например:

touch /etc/opennms/scripts/sendsms.sh

Сделаем его исполняемым:

chmod +x /etc/opennms/scripts/sendsms.sh

И наполним следующим содержимым:

#!/bin/bash

curl --user visor:ping --data "[$1] $2" http://192.168.0.218/sendsms.cgi?utf8

Скрипт использует возможность отправки SMS-сообщений при помощи URL-encoded команд. Больше о вариантах отправки SMS можно прочесть в документации.

При написании своего скрипта важно соблюдать порядок входных переменных - первой номер телефона, второй текст. Именно в таком порядке описанный далее способ оповещения будет передавать аргументы скрипту.

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

apt-get install curl

Далее необходимо добавить способ оповещения. Для этого в файл /etc/opennms/notificationCommands.xml в конец добавляем секцию:

<command binary="true">

   <name>SendSMS</name>

   <execute>/etc/opennms/scripts/sendsms.sh</execute>

   <comment>Send sms</comment>

   <argument streamed="false">

      <switch>-wphone</switch>

   </argument>

   <argument streamed="false">

      <switch>-tm</switch>

   </argument>

</command>

При вызове данного способа оповещения система подставляет по порядку переменные "-wphone" (номер телефона, указанный в настройках пользователя в контактах, как рабочий телефон) и "-tm" (текст из поля "Text Message" настройки оповещения, о котором подробней будет рассказано далее, для вставки текста из "Short Message" использовать "-nm"). Подробней о командах и параметрах можно узнать в официальной документации.

И ассоциируем эту команду с путем доставки. Для этого в файл /etc/opennms/destinationPaths.xml добавляем следующую секцию:

<path name="SMS-Admin">

   <target>

      <name>Admin</name>

      <command>SendSMS</command>

   </target>

</path>

Подробней настройка оповещений для OpenNMS описана в официальной документации. На этом работа в консоли закончена, и можно перейти в web-интерфейс.

Примеры настройки оповещения по некоторым событиям в OpenNMS через шлюз NetPing SMS

Для того, чтобы настроить оповещение по SMS для определенных событий, необходимо зайти в интерфейс администрирования OpenNMS. Для этого переходим в Configure OpenNMS (1) → Configure Notifications (2):

OpenNMS настройка оповещений

Затем в Configure Event Notifications:

OpenNMS настройка событий для оповещения

И видим следующую картину:

OpenNMS список событий для оповещения

Пример 1. SMS-оповещение по факту получения SNMP TRAP сообщения о смене логического уровня IO линии на примере UniPing server solution v3/SMS

Чтобы добавить новое оповещение о событии, кликаем на "Add New Event Notification":

OpenNMS добавление события для оповещения

Далее, необходимо выбрать событие. 

В статье "Пример мониторинга серверной комнаты на основе OpenNMS и устройств NetPing" во время импорта MIB файла система предложила нам создать на его основе список событий, в который вошла конфигурация всех описанных в MIB файле SNMP TRAP сообщений. Файл событий был создан по имени MIB файла и в системе располагается по пути /etc/opennms/events/DKSF-70-6-X-X-1.events.xml (имя по умолчанию; если вы изменили имя во время создания конфигурации событий по умолчанию - это отразилось только на UEI; подробнее о структуре файла конфигурации можно узнать в официальной документации).

Для удобства воспользуемся поиском (1), среди найденных событий выбираем входящий SNMP TRAP по IO линии (2) и переходим далее (3).

OpenNMS настройка оповещения по SNMP Trap IO линии

Следующим пунктом настроек нам предложено задать фильтр нод (хостов) для обработки событий. В рамках данной статьи мы не будем это разбирать, оставляем по умолчанию (обрабатываем от всех) и переходим дальше. Если есть необходимость в тонкой настройке, то стоит обратиться к официальной документации.

OpenNMS фильтр нод для оповещения о приеме SNMP Trap IO линии

Видим перед собой основные настройки оповещения:

  1. Вводим имя оповещения - npIoTrap notification;
  2. Его описание - Io Trap from NetPing;
  3. Путь оповещения, добавленный нами ранее в консоли - SMS-Admin;
  4. Указываем текст сообщения (поддерживает вставку значений из события, которое вызвало данное оповещение);
  5. Памятка по возможным значениям;
  6. Finish - завершаем настройку.

OpenNMS детали оповещения о SNMP Trap IO линии

Далее мы попадаем обратно к списку всех оповещений. Среди них и наше только что созданное.

OpenNMS список событий для оповещения

Пример 2. SMS-оповещение по факту недоступности какого-либо сервиса любой ноды

В списке оповещений по умолчанию уже есть оповещение о событии "nodeLostService", поэтому создавать новое нет нужды. Отредактируем уже существующее - для этого жмем "Edit".

OpenNMS редактирование события для оповещения

Перед нами будут шаги выбора события и фильтр - пропускаем их, оставляя всё, как есть, и переходим сразу к настройкам оповещения. Выбираем путь оповещения - "SMS-Admin" (1) - и завершаем настройку (2).

OpenNMS изменение способа оповещения о событии

На этом настройка SMS-оповещений окончена. При возникновении заданных событий (и дополнительно по восстановлению работы сервиса из примера № 2), мы будем получать сообщения вида:

Пришедшие SMS оповещения от OpenNMS через NetPing SMS

NetPing SMS не является единственным устройством, которое может выступать в роли SMS-шлюза для систем мониторинга. Через UniPing server solution v4/SMSUniPing server solution v3/SMS и NetPing 8/PWR-220 v3/SMS также можно отправлять сообщения при помощи внешних скриптов. Подробней об этом можно прочесть в документации - для UniPing server solution v4/SMS, UniPing server solution v3/SMS и для NetPing 8/PWR-220 v3/SMS.

Вывод

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


  • Устройство UniPing server solution v4/SMS
  • Устройство UniPing server solution v3/SMS
  • Устройство NetPing SMS
  • Устройство NetPing 8/PWR-220 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
▼ Все теги
Новинки
Устройство UniPing server solution v4/SMS
Устройство удалённого мониторинга датчиков по сети Ethernet/Internet. Позволяет удалённо получать информацию подробнее...

Цена: 23 870 руб.

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

Цена: 12 955 руб.

Датчик воздушного потока (модель АМС520)
Датчик воздушного потока позволяет контролировать наличие или отсутствие напора воздушного потока. Содержит подробнее...

Цена: 2 846 руб.

ИКС-1 извещатель охранный инфракрасный активный однолучевой
Извещатель предназначен для регистрации пересечения нарушителями контролируемой зоны, образованной оптическим подробнее...

Цена: 3 854 руб.

Внешний ИБП SKAT-12DC-1.0 Li-ion
Малогабаритный источник бесперебойного питания (ИБП) со встроенной Li-Ion АКБ. Для питания устройств подробнее...

Цена: 3 200 руб.

МОЛЛЮСК-12/1,5
Малогабаритный блок питания с выходным напряжением 12 В. Имеет уникальный корпус, который позволяет подробнее...

Цена: 950 руб.

Датчик дыма комбинированный (дым/тепло) ИП 212/101-2М-A1R с базой Е412NL
Комбинированный извещатель предназначен для обнаружения возгораний в помещениях различных зданий и сооружений подробнее...

Цена: 2 098 руб.

MP701 Исполнительный элемент (4 независимых канала по 2 кВт 10А)
Силовой модуль коммутации предназначен для обеспечения управления при помощи устройств NetPing силовыми подробнее...

Цена: 1 400 руб.

BM8070D Силовое реле 16А/250В на DIN-рейку
Блок реле для удалённой коммутации мощной нагрузки при помощи устройств NetPing. Изготавливается в корпусе подробнее...

Цена: 1 350 руб.

Датчик движения (SWAN-QUAD ИК детектор квадросенсор), (2м)
Пассивный инфракрасный детектор движения позволяет регистрировать любое движение в зоне до 18 метров. подробнее...

Цена: 1 516 руб.

МАЯК-12-СТ
Оповещатель охранно-пожарный световой стробоскопический предназначен для выдачи световых стробоскопических подробнее...

Цена: 385 руб.

Датчик протечки H2О
Датчик протечки позволяет определить наличие воды в точке установки датчика. Устанавливается в нескольких подробнее...

Цена: 1 450 руб.

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

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