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

SMS шлюз для Monit

SMS шлюз для Monit

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

 Для отправки SMS можно использовать следующие устройства компании NetPing:

Наличие SMS-уведомлений позволит IT персоналу оперативнее реагировать на события в сети и минимизировать простои бизнеса из-за сбоев в работе IT оборудования. Также предприятие сможет значительно сэкономить на услугах сторонних сервисов SMS-рассылки, потому что в таком случае стоимость SMS будет соответствовать тарифу сотового оператора без дополнительных комиссий.

Требования к оборудованию

  • Одно из перечисленных выше устройств NetPing с установленной SIM картой – 1 шт;
  • ПК/сервер с OC Ubuntu и установленной на нём системой мониторинга Monit – 1 шт;
  • Локальная сеть – 1 шт.

В нашем примере мы используем Monit v 5.25.2, установленный на Ubuntu Server 16.04.3 LTS. Для получения информации по настройке системы мониторинга Monit можно обратиться к официальной документации, также развертывание и настройка достаточно подробно описаны в этой статье нашего блога.

Настройка устройств NetPing

Устройство NetPing SMS - аппаратный GSM шлюз

Для отправки SMS-уведомлений в нашем случае необходимо выполнить всего лишь часть базовой настройки (настроить сетевые параметры для доступа по сети) устройств NetPing SMSUniPing server solution v4/SMSUniPing server solution v3/SMSNetPing 8/PWR-220 v3/SMS и установить рабочую SIM карту с положительным балансом в разъём встроенного GSM модема. Прочитать про базовую и дополнительную настройку устройств можно в следующей документации:

Реализация отправки SMS-оповещений от системы мониторинга Monit

Monit. Главное окно web-интерфейса системы

Считаем, что шлюз для отправки и приёма SMS-сообщений NetPing SMS доступен в локальной сети со следующими параметрами:

  • IP адрес – 192.168.1.200;
  • Логин – visor;
  • Пароль – ping

Директории для хранения пользовательских файлов и скриптов в системе мониторинга Monit:

  • /home/user/monit/conf/user/
  • /home/user/monit/conf/script/

Для реализации функции отправки SMS напишем скрипт на скриптовом языке программирования BASH. Скрипт использует возможность отправки SMS-сообщений при помощи URL-encoded команд. Подробнее о вариантах отправки SMS можно прочесть в документации.

#!/bin/bash
curl --user visor:ping --data "[$1] $2" http://192.168.1.200/sendsms.cgi?utf8

Параметры, которые необходимо изменить при использовании скрипта в вашей системе мониторинга Monit:

  • visor – имя пользователя для авторизации на устройстве NetPing;
  • ping – пароль для авторизации на устройстве NetPing;
  • 192.168.1.200 – текущий IP адрес устройства NetPing

Подготовленный файл скрипта: sendsms.sh

Разместим файл скрипта в директории скриптов (в нашем примере /home/user/monit/conf/script/ ) и сделаем файл исполняемым с помощью команды:

chmod +x /home/user/monit/conf/script/sendsms.sh

Для работы скрипта нужно установить утилиту CURL (если не установлена ранее) командой:

sudo apt-get install curl

Далее открываем для редактирования файл с настройками мониторинга в системе Monit. (В нашем примере /home/user/monit/conf/user/netping) и указываем для каждого объекта мониторинга, о состоянии которого мы планируем получать SMS-уведомление, действие «Выполнить скрипт»:

exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Потеряна связь с устройством NetPing_8_PWR-220_v3SMS"

В параметры скрипта передаём первым аргументом номер телефона получателя уведомления (можно указать разных получателей для разных типов событий), вторым аргументом текст SMS-сообщения (поддерживается кириллица, кавычки обязательны). Примерный код файла с настройками мониторинга ниже:

check host NetPing_SMS with address 192.168.1.200
  if failed ping then alert

check host NetPing_8_PWR-220_v3SMS with address 192.168.1.210
  if failed ping then
  exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Потеряна связь с устройством NetPing_8_PWR-220_v3SMS"

check program Temperature_1 with path "/root/monit/conf/scripts/get_temp1w.sh 1"
  if status == 1 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Данные с датчика температуры №1 не получены. Сбой SNMP"
 if status == 2 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Датчик температуры №1 не подключен или неисправен"
  if status == 3 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Температура на датчике №1 ниже нормы"
  if status == 4 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Температура на датчике №1 выше нормы"
  if status == 9 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Неопознанная ошибка. Проверьте датчик температуры №1 вручную"

check program Humudity_1 with path "/root/monit/conf/scripts/get_relhumtemp1w.sh 1"
  if status == 1 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Данные с датчика влажности №1 не получены. Сбой SNMP"
  if status == 2 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Датчик влажности №1 не подключен или неисправен"
  if status == 3 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Влажность на датчике №1 ниже нормы"
  if status == 4 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Влажность на датчике №1 выше нормы"
  if status == 9 then
exec /home/user/monit/conf/script/sendsms.sh +70000000000 "Неопознанная ошибка. Проверьте датчик влажности №1 вручную"

Подготовленный файл настроек мониторинга в системе Monit можно скачать здесь.

В результате выше приведенных настроек система мониторинга Monit будет отправлять подобные SMS-сообщения:

Пример SMS-уведомлений от системы мониторинга Monit и шлюза NetPing SMS

Таким образом мы реализовали отправку произвольных SMS-сообщений из системы мониторинга Monit с помощью аппаратного GSM шлюза для отправки и приёма SMS-сообщений NetPing SMS


  • Устройство UniPing server solution v3/SMS
  • Устройство UniPing server solution v4/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
Устройство NetPing 8/PWR-220 v4/SMS
VT592 кабельный датчик протечки
WLC10 кабель протечки
▼ Все теги
Новинки
WLC10 кабель протечки
Чувствительный кабель для использования совместно с датчиком VT592. Может быть смонтирован в труднодоступных подробнее...

Цена: 6 700 руб.

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

Цена: 3 800 руб.

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

Цена: 29 735 руб.

Устройство UniPing server solution v4/SMS
Устройство удалённого мониторинга датчиков по сети Ethernet/Internet. Позволяет удалённо получать информацию подробнее...

Цена: 22 654 руб.

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

Цена: 13 732 руб.

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

Цена: 3 017 руб.

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

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