На сервере настроена программа для оповещения через смс. Смс отправляются через модем zte mf180.
Идея была взята из статьи prtg http://www.paessler.com/blog/2012/02/16/prtg-9/sending-out-prtg-sms-gsm-modem-mwconn
Программа для отправки смс используется http://nhutils.ru/blog/nhsms/download/
Настройка nhsms
Файл настройки выглядит так nhsms.ini
; Пример ini файла, организующего работу с СМС файлами по папкам: ; \Incoming - папка входящих СМС, в неё программа записывает принятые смс ; (для записи используется JScript process_deliver.js) ; \Outgoing - папка исходящих СМС, в неё внешние программы кладут файлы на ; отправку (файлы с любым именем и расширением) ; \Sent - папка отправленных СМС, в неё программа nhsms переносит файлы из ; Outgoing после отправки ; Примечание: папки должны быть созданы до запуска программы nhsms [Connection] ; Номер последовательного (COM) порта, 1...255 COM=12 ; Число попыток (пере)подключения к модему (0==неограниченное) Attempts=0 ; Задержка между попытками (пере)подключения в миллисекундах Pause=15000 SearchOrder=modem,com ModemConnection=any ModemId="USB\Vid_19d2&Pid_0016&MI_02","USB\Vid_19d2&Pid_2003&MI_03" ComConnection=any BaudRates=19200,115200 ConnectReset=0 TECharSet= [Parameters] ; Режим отображения: silent, error, info, all ;Out=error Out=DETAILS ; Путь/имя текстового файла, в который дублируется вывод программы nhsms OutFilename=nhsms.out ; Режим работы программы: once (однократный), continuous (постоянный) Runmode=Continuous ;RunMode=continuous ; Путь и имя (может включать переменные среды и символы ?*) файлов с ; исходящими СМС SmsFile=Outgoing\* ; Действие с отправленными СМС, одно из указанных: ; delete - удаление файла ; rename,<путь и имя файла> - переименование в указанный файл ; append,<путь и имя файла> - дописывание в указанный файл ; Для пути/имени в rename и append можно использовать переменные ; %file_drv% диск исходного файла ; %file_dir% путь исходного файла ; %file_name% имя исходного файла ; %file_ext% расширение исходного файла (включает точку) SmsFileOnComplete="append","Sent\%file_name%%file_ext%",Unicode CommandLineSmsFile="",auto License= TimeStamp="" [Message] ; В этом разделе параметры сообщений ; Номер СМС центра SMSC=79037011111 Alert=0 StatusReportRequest=0 Phone= ValidityPeriod=1l SmsSendDelay=0 Esc=\ CorrectPhonePrefix=8 9xx xxxxxxx [Read] ; Команды обработки входящих сообщений, число команд неограничено ; Для каждой входящей СМСки программа nhsms(cl) запускает все команды, заданные ; в параметрах commandline=... ; Запуск скрипта JScript с передачей значений через переменные окружения ; Обработка входящих сообщений ; Обработка входящих сообщений ReadingTextMessages=no ReadMaxIntervalMs=60000 MessageStorage= [Network] UseMMTS=1 UsePhoneNumber=none ForceNetworkSearch=always ForceNetworkSearchCommand=AT+CFUN=1,1 SendFromHomeNetworkOnly=1 [USSD Default Settings] DCS=15 7bit=auto [Sending Messages] TimeLimited=No TimeDays=Пн,Вт,Ср,Чт,Пт,Сб,Вс TimeFrom=07:00 TimeTo=00:00 [Version] Configuration=v2.14.0.30
Программа проверяет папку Outgoing на наличии файлов следуюшего содержания
[1] Phone=79507219113 Alert=0 Text="[PRTG Network Monitor (S0061)] %device %name %status %down (%message)" ValidityPeriod=1d
Как такой файл появляться то смс сразу отправляется.
В prtg созданы два bat файла один для отправки только одному, второй для отправки всем.
\\S0061\c$\Program Files (x86)\PRTG Network Monitor\Notifications\EXE\ mwconn.bat
mwconn.bat
echo off set qwert="C:\Program Files (x86)\PRTG Network Monitor\Notifications\1\sms_PRTG-%device%name%date:/=%-%time::=%__%1.txt" echo [1]>%qwert% echo Phone=%1>>%qwert% echo ^Alert=^0>>%qwert% echo Text=%2>>%qwert% echo ValidityPeriod=1d>>%qwert% move /y "C:\Program Files (x86)\PRTG Network Monitor\Notifications\1\*.*" "\\s0042\Outgoing\"
mwcon_vsem.bat
echo off set qwert="C:\Program Files (x86)\PRTG Network Monitor\Notifications\1\sms_PRTG-%device%name%date:/=%-%time::=%__%1.txt" echo [1]>%qwert% echo Phone=%1,%2,%3,%4,%5>>%qwert% echo ^Alert=^0>>%qwert% echo Text=%6>>%qwert% echo ValidityPeriod=1d>>%qwert% move /y "C:\Program Files (x86)\PRTG Network Monitor\Notifications\1\*.*" "\\s0042\Outgoing\"
Настройка PRTG