- NetPing
- >
- Блог
- >
- Примеры применения
- >
- Отправка любых SMS-уведомлений при помощи NetPing из Nagios
Отправка любых SMS-уведомлений при помощи NetPing из Nagios
Nagios — программа с открытым кодом, предназначенная для мониторинга компьютерных систем и сетей: наблюдения, контроля состояния вычислительных узлов и служб и оповещения системных администраторов в случае прекращения или возобновления работы каких-либо служб.
Наряду с отправкой e-mail сообщений для оповещения системных администраторов можно использовать уведомления по SMS, что увеличит оперативность реакции на возникающие проблемы в работе служб. Для отправки SMS можно использовать устройства компании NetPing:
Это позволит значительно сэкономить на услугах сторонних сервисов SMS-рассылки, потому что в таком случае стоимость SMS будет соответствовать тарифу вашего сотового оператора без дополнительных комиссий.
Рассмотрим пример отправки SMS-уведомлений из системы мониторинга Nagios с использованием устройств NetPing.
Требования к оборудованию
- Устройство NetPing с установленной SIM картой – 1 шт;
- ПК/сервер с OC Ubuntu и установленной на нём системой Nagios – 1 шт;
- Локальная сеть – 1 шт.
В нашем примере мы используем Nagios Core 4.3.4, установленный на Ubuntu Server 16.04.3 LTS
Для получения информации по настройке системы мониторинга Nagios можно обратиться к официальной документации.
Подготовка скрипта для отправки SMS
Для реализации функции отправки SMS напишем скрипт на скриптовом языке программирования BASH:
#!/bin/bash
curl --user visor:ping --data "[$1] $2" http://192.168.0.100/sendsms.cgi?utf8
Параметры, которые необходимо изменить при использовании скрипта в вашей системе мониторинга Nagios:
visor – имя пользователя для авторизации на устройстве NetPing;
ping – пароль для авторизации на устройстве NetPing;
192.168.0.100 – текущий IP адрес устройства NetPing
Подготовленный файл скрипта: sendsms.sh
Разместим файл скрипта в рабочей директории Nagios (в нашем примере /usr/local/Nagios/etc/objects/) и дадим пользователю Nagios права на запуск скрипта:
sudo chown nagios:nagios /usr/local/nagios/etc/objects/sendsms.sh
sudo chmod 776 /usr/local/nagios/etc/objects/sendsms.sh
Далее переходим к настройке Nagios.
Настройка Nagios
Web-интерфейс системы Nagios предназначен только для просмотра состояния устройств. Все настройки хранятся в конфигурационных файлах.
В файле commands.cfg задаём команды для отправки сообщений (в нашем примере /usr/local/nagios/etc/objects/command.cfg ):
# 'notify-host-by-sms' command definition
define command{
command_name notify-host-by-sms
command_line /usr/local/nagios/etc/objects/sendsms.sh $CONTACTPAGER$ "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ "
}
# 'notify-service-by-sms' command definition
define command{
command_name notify-service-by-sms
command_line /usr/local/nagios/etc/objects/sendsms.sh $CONTACTPAGER$ "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ "
}
Закрываем файл с сохранением изменений.
Теперь для удобства создадим новый контакт, который будет получать SMS-уведомления от Nagios, и пропишем для него команды для выполнения при получении сигнала об активности на подконтрольных узлах.
Открываем файл /usr/local/nagios/etc/objects/contacts.cfg для редактирования:
define contact{
contact_name smsrecipient
alias Sms Recipient
email nagios@localhost
pager 79000000000
service_notification_period 24x7
service_notification_options w,u,c,r
service_notification_commands notify-service-by-sms
host_notification_period 24x7
host_notification_options d,u,r
host_notification_commands notify-host-by-sms
}
Номер телефона для получения уведомлений указываем в строке «Pager»:
Чтобы включить отправку уведомлений созданному пользователю smsrecipient, добавим его в группу Nagios Administrators. Это можно сделать немного ниже в том же файле /usr/local/nagios/etc/objects/contacts.cfg
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin, smsrecipient
}
Закрываем файл с сохранением изменений.
В Nagios встроено средство проверки файлов конфигурации на ошибки. Запустить его можно из терминала.
Проверяем файлы конфигурации командой (1):
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
И, если все в порядке (2), перезапускаем Nagios (3)
sudo systemctl restart nagios.service
Настройка устройств NetPing SMS, UniPing server solution v3/SMS, NetPing 8/PWR-220 v3/SMS
Для отправки SMS-уведомлений в нашем случае необходимо выполнить всего лишь часть базовой настройки (настроить сетевые параметры для доступа по сети) устройств NetPing SMS, UniPing server solution v3/SMS, NetPing 8/PWR-220 v3/SMS и установить рабочую SIM карту с положительным балансом в разъём встроенного GSM модема. Прочитать про базовую и дополнительную настройку устройств можно в следующей документации:
NetPing SMS - описание встроенного ПО;
UniPing server solution v3/SMS - описание встроенного ПО;
NetPing 8/PWR-220 v3/SMS - описание встроенного ПО
Результат
В результате применения вышеописанных настроек организации отправки SMS-уведомлений о событиях в системе мониторинга Nagios при использовании SMS-шлюза на основе устройств NetPing SMS, UniPing server solution v3/SMS, NetPing 8/PWR-220 v3/SMS системные администраторы будут получать SMS-сообщения такого вида:

Цена: 2 340 руб.

Цена: руб.

Цена: 1 045 руб.

Цена: 42 500 руб.

Цена: 950 руб.

Цена: 15 730 руб.

Цена: 4 290 руб.

Цена: 6 200 руб.

Цена: 20 280 руб.

Цена: 20 280 руб.

Цена: 10 980 руб.

Цена: 8 580 руб.

Цена: 18 000 руб.

Цена: 27 300 руб.

Цена: 1 429 руб.

Цена: 3 354 руб.

Цена: 2 240 руб.

Цена: 1 400 руб.

Цена: 8 973 руб.

Цена: 15 700 руб.

Цена: 1 224 руб.

Цена: 6 700 руб.

Цена: 3 800 руб.