SMS уведомления в Icinga2.
Общая
Если в вашей 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 сообщения подобного вида:
https://itcrowd.top/icinga2-sms#sigProIdfd201ea47a
- Просмотров: 22640