SMS уведомления в Icinga2.

Main

Оценка: 98.43% - 7 Голосов

Общая

Если в вашей IT-Инфраструктуре нет резервного канала интернета, или в процессе работы появились проблемы с почтовым сервером, то появляется проблема с доставкой уведомлений об авариях через e-mail. В этом случае может помочь использование SMS уведомлений средствами сотовой связи, используя обычный USB-модем.

Для настройки использовался не привязанный ни к какому оператору связи USB-модем Huawei E173.

В материале используется ОС Debian 9.5, Icinga2 версии 2.9.1-1 и Iicngaweb2 версии 2.6.1

Для работы с USB портами ставим пакет usbutils

apt update
apt install usbutils

После чего убеждаемся, что система видит USB-модем командой lsusb:


Bus 002 Device 002: ID 12d1:1c05 Huawei Technologies Co., Ltd. Broadband stick (modem on)

Установка и настройка SMS Server Tools 3

Для установки СМС сервера загружаем исходники с сайта разработчика.

Распаковываем исходники в папку

tar -xzf smstools*.tar.gz

Перейти в папку, собрать и установить исходники.

cd smstools3/
make
make install

После успешной установки переходим к настройке

nano /etc/smsd.conf

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

devices = GSM1
logfile = /var/log/smsd.log
loglevel = 7
[GSM1]
#Прием входящих сообщений 
#incoming = yes
#Пин-код сим-карты / если используется то раскомментировать
#pin = 1111
init = AT^CURC=0
device = /dev/ttyUSB0
baudrate = 19200
incoming = no
report_device_details = yes
signal_quality_ber_ignore = yes

 Перезапускаем SMS Сервер:

/etc/init.d/sms3 restart

Так же необходимо дать права на папку /var/spool/sms/outgoing пользователю, от чьего имени запущена Icinga:

chown -R root:groupname /var/spool/sms/outgoing
chmod 775 /var/spool/sms/outgoing

Проверяем работоспособность командой sendsms, где код страны указывается без знака "+":

sendsms 71234567890 "Hello, World"

На указанный номер должно прийти SMS сообщение.

Если оно не пришло то, смотрим журнал ошибок

nano /var/log/smsd.log

Настройка Icinga2 на отправку оповещений через SMS

Для отправки сообщений первым делом необходимо создать скрипты оповещения служб и оповещения узлов которые будут работать с smstools3

За основу были взяты скрипты, отвечающией за отправку Mail-уведомлений.

Готовый скрипт для оповещения служб можно скачать тут.

Готовый скрипт для оповещения узлов можно скачать тут.

Данные файлы необходимо поместить в /etc/icinga2/scripts/.

Далее необходимо описать работу скриптов в Icinga2

4. Добавлем нужным пользователям переменную pager в /etc/icinga2/conf.d/users.conf:

В примере пользователь icingaadmin

object User "icingaadmin" {
import "generic-user"
display_name = "Icinga 2 Admin"
groups = [ "icingaadmins" ]
email = "some mail"
pager = "71234567890"
}

5. В конфигурации узлов и служб, о которых мы хотим получать SMS уведомление, необходимо добавить информацию о том, кого необходимо уведомлять:

  vars.notification["sms"] = {
  groups = [ "icingaadmins" ]
}

Далее проверяем конфигурацию и перезапускаем Icinga2.

service icinga2 checkconfig
service icinga2 restart

Теперь вам должны приходить SMS сообщения подобного вида:

View the embedded image gallery online at:
https://itcrowd.top/icinga2-sms#sigProIdfd201ea47a

 

  • Просмотров: 22640
Добавить комментарий