mnshome.info
marzenia się spełniają



  SMSbox: Отправка SMS о проблемах с питанием серверной фермы на базе USB-модема HUAWEI и операционной системы FreeBSD
22.06.2015 11:33

Стоит сразу оговорится, что операционная система может быть не только FreeBSD,
а любая другая, Linux/Unix совместимая. Также, в качестве модема может быть 
использован не только HUAWAI вендер, но и любой другой, например, ZTE.

Некоторое время назад возникла задача: в случае отказа электропитания 
необходимо уведомить заинтересованных лиц о возникшей проблеме по SMS минуя
выход в сеть Internet.

В качестве готово решения по обнаружению возникшей проблемы было решено 
использовать Perl модуль App::MonM (c функцией Checkit). Хотя жесткой привязки 
к данному модулю нет, может использоваться лубая система мониторинга, например,
Zabbix. Дело всего лишь выбора системного администратора. по факту срабатывания
триггера системы мониторинга возникает событие отправки SMS. Для обработки 
данного события как правило выполняется внешняя утилита. Формат запуска был 
принят в рамках некого стандарта:

  # program_name <PHONE_NUMBER> <SUBJECT> <MESSAGE>
  # program_name <PHONE_NUMBER> <MESSAGE>

Именно в таком формате происходит отправка SMS штатными средствами Zabbix 
(см. документацию https://www.zabbix.com/documentation/2.4/manual).

Помимо Zabbix'а данный формат используют и другие системы момниторинга, в т.ч.
App::MonM. Для конфигурирования последнего достаточно прописать в 
конфигурационный файл monm.conf строку формата:

  SMSGW "program_name program_args [PHONE] "[MESSAGE]""

Для реализации задачи было принято решение написать свою программу smsbox
(program_name). Программа написана на языках Perl и C. Для установки необходимо
скачать ее с сайта dist.suffit.org (http://dist.suffit.org/smsbox-1.04.tar.gz)
и установить стандартным способом:

  # wget http://dist.suffit.org/smsbox-1.04.tar.gz
  # tar -zxf smsbox-1.04.tar.gz
  # cd smsbox-1.04
  # perl Makefile.PL
  # make

Установить необходимые зависимости (при отображении варнингов) и выполнить:
  
  # make test
  # make install
  # make clean

  
Далее необходимо установить модем. после установки модема командой smsbox
получаем синтаксис вызова. На дату написания статьи синтаксис таков:

  # smsbox

    Usage:
        smsbox [-d] [-i /path/to/inbox] [-o /path/to/outbox] [-s /path/to/sentbox]
               [-f statusfile.json] [--ussd="*100#"] [--balance="<PHONE_NUMBER>"]
               [--noinbox] [--noussd] <IO_DEVICE_OR_FILE>

        smsbox [-d] -S [-o /path/to/outbox] <PHONE_NUMBER> <SUBJECT> <MESSAGE>

Программа имеет возможности:

  -- Отправка SMS (из папки outbox)
  -- Получение баланса (в файл statusfile.json по USSD запросу)
  -- Получение входящих SMS (и помещение их в каталог inbox)
  -- Создание одного SMS сообщения в формате JSON (в папку outbox)
  -- Отправка баланса по SMS (из файла statusfile.json)

Ключи программы:
  -d            -- Режим отладки
  -i, -o, -s    -- Определение каталогов inbox, outbox, sentbox
  -f            -- Определение имени файла статус-файла (по умолчанию statusfile.json)
  -u            -- USSD запрос для получения баланса (по умолчанию *100#)
  -I, --noinbox -- НЕ выполнять получение входящей почты
  -U, --noussd  -- НЕ выполнять получение USSD
  -B, --balance -- Получение баланса для указанного номера телефона
  -S            -- Режим создания нового сообщения

Другие параметры:
  <IO_DEVICE_OR_FILE>   -- Имя устройства модема, например: /dev/modem
  <PHONE_NUMBER>        -- Номер телефона для отправки сообщения
  <SUBJECT>             -- Тело темы сообщения
  <MESSAGE>             -- Тело текста сообщения

Пример вызова программы с целью создания нового сообщения баланса:

  # cd /root && smsbox -Id /dev/cuaU0.2 -B 79037011110

Пример строки конфигурации для создания сообщения с помощью программы monm:

  SMSGW "smsbox -S -o /root/outbox/ [PHONE] "[MESSAGE]""

Пример отправки созданных сообщений из папки /root/outbox/:

  # cd /root && smsbox -IUd /dev/cuaU0.2

 

  Release: App::MonM
24.09.2014 09:53

Проект monm преобрёл вторую жизнь под именем App::MonM и доступен теперь через CPAN! hura

Скачать модуль можно либо на сайте CPAN http://search.cpan.org/~abalama/ либо на сайте проекта sourceforge.net https://sourceforge.net/projects/app-monm/ 

Полная документация доступна по адресу http://app-monm.sourceforge.net, документация будет постоянно обновляться по мере изменений проекта.

Следует заметить, что в данном проекте еще пока не реализованы обработчики alertgrid и rrd. Для их реализации потребуется некоторое время, ориентировочно в ноябре будут готовы и они. До тех пор будут доступны дистрибутивы monm на сайте http://dist.suffit.org

 

  monm -- запуск !! просто и надежно :)
18.03.2013 14:10

*/5 * * * * /usr/bin/monm checkit 1>/dev/null 2>>/var/log/monm-error.log

  Отправка SMS, шлюз СС
18.03.2013 11:56

SMSGW "sendalertsms -s ??? -u ??? -p ??? -q "SELECT PP.CC_JOBSMS.CREA('[PHONE]', 12780 ,'[MESSAGE]') FROM DUAL" [PHONE]"

THUD XYZZY PLUGH FRED WALDO GARPLY
GRAULT CORGE QUUZ QUX BAZ BAR FOO

День памяти перевода часов на летнее время

0
0
0
days
:
0
0
hrs
:
0
0
min
:
0
0
sec

поиск по дате...
поиск по содержимому...
GGCzat 1.00
Tagi
Artefakty
28.12.2015 13:09:22
MDScore: Marionette.js
06.05.2016 13:07:16
Создать RESTfull обработчик как модуль
01.12.2017 22:56:38
SubProject: static-site
24.06.2017 17:34:47
MNSHOME: Переходить на Centos!
30.10.2017 13:05:21
Создать функционал 2 в 1: mod_perl библиотеку для получения отчета по бэкапам за последние сутки
19.08.2015 11:35:42
Переезд разработчиков на тестовый MySQL сервере
02.03.2016 18:20:19
По вёрстке - loftblog
02.06.2015 13:52:56
С Даши за ECB/VTB24
29.11.2017 18:05:16
Создать простые функции криптования AES256+Blowfish+base64
Tue, 16 Oct 2018 13:09:22 +0400

Linki zewnętrzne

#OPERA
Czytam
GRY
MnshomeInfo
Monitoring
Photo
Przyjaciele
Serwisy
fla-master

IP

Valid XHTML 1.0 Transitional

Valid CSS!


Copyright © 1998-2017 Serż Minus. All rights reserved


do góry