...

вторник, 19 августа 2014 г.

[recovery mode] Тривиальное смс-оповещение при недоступности сервера\оборудования

Со многими моими коллегами (системными администраторами, да наверное и не только) случалось так, что при отключении электропитания\аппаратном сбое\программное сбое — о недоступности того или иного сервиса\сервера узнавали от недовольного начальства\недовольных коллег.

Чтобы как-то решить проблему того, что я узнаю о проблеме в инфраструктуре от коллег, стало необходимым сделать смс-оповещение.

Наверняка есть какие-то уже готовые решения, может быть какие-то платные, аппаратные и т.п… В данной статье речь пойдёт о простом и банальном решении — и так я начну описание.

Дано:

1) Компьютер Windows на борту с портом RS-232 (COM-порт);

2) GSM-модем Siemens MC35i\(нынче называется Cinterion) с портом RS-232 с антенной и блоком питания;

3) Кабель RS-232;

4) Сим-карта любого оператора;

5) ПО nncron;

6) ПО NHSMS


Задача:

В случае недоступности сервера\устройства\Интернета по сети получасть смс-сообщение с указанием его названия.


Решение:

1) Сначала был подключен модем к компьютеру — настроен как обычный модем со скоростью порта 115200 бит\сек;

2) Далее было найдено и протестировано ПО, которое через командную строку (cmd\bat) отправляет смски — NHSMS (ссылка выше);

3) Затем необходимо было как-то обнаруживать события после которых нужно было задействовать, написанные cmd-файлы на отправку сообщений. Нам здесь помог nncron (ссылка выше) с его скриптами.


Cкрипт nncron можно настроить через его форму настройки:

image

image


По итогам настройки формируется файл nncron.tab. Находится он корневом каталоге приложения и выглядит так:


#( OMEGA-inet

Time: */5 * * * * *

Rule: HOST-EXIST: «8.8.8.8» NOT

Action:

StartIn: «C:\soft»

ShowNormal NormalPriority

START-APP: C:\soft\OMEGA-inet.cmd

)#


#( OMEGA-AV01

Time: */5 * * * * *

Rule: HOST-EXIST: «OMEGA-AV01» NOT

Action:

StartIn: «C:\soft»

ShowNormal NormalPriority

START-APP: C:\soft\OMEGA-AV01.cmd

)#


#( OMEGA-MX6

Time: */5 * * * * *

Rule: HOST-EXIST: «OMEGA-MX6» NOT

Action:

StartIn: «C:\soft»

ShowNormal NormalPriority

START-APP: C:\soft\OMEGA-MX6.cmd

)#


#( OMEGA-OFFICE

Time: */5 * * * * *

Rule: HOST-EXIST: «OFFICE» NOT

Action:

StartIn: «C:\soft»

ShowNormal NormalPriority

START-APP: C:\soft\OMEGA-office.cmd

)#


Смысл его прост — сервер пингуется по NS-имени каждые 5 минут (значение можно поменять, но если что-то отвалится,, если пинга нет, то срабатывает cmd-файл. Тоже самое относится

Сами cmd-файлы содержат сообщение для отправления смс (для каждого сервера свой cmd-файл, чтобы проще искать и редактировать):


nhsmscl.exe -COM:1 -smsc:79168999100 -phone:79639666666 -esc: Server OMEGA-MX6 is down.

echo off

echo %* >>in-sms.log


где «Server OMEGA-MX6 is down.» — это сообщение, которые приходит на телефон (по-русски у меня так и не получилось научить писать программу — возможно связано с кодировкой cmd-файла, да это и не важно).


Собственно как выглядит сам модем (вдруг кто не видел):

image


Ну и как результат

image


Отмечу:

1) при отключении самого компьютера с модемом ничего не произойдет — на такой случай, как вариант, можно сделать второй компьютер с модемом, который будет опрашивать первый компьютер на доступность, но нужно ли это в условиях малого офиса;

2) nncron имеет также функцию опроса по порту — так что можно настроить к примеру опрос значимых TCP-портов и в случае обвала сервиса — будет также приходить смс;

3) питание компьютера с модемом желательно запитать отдельным персональным бесперебойником — в случае отказа основного ИБП — компьютер с модемом будет защищен.


Всем мира и добра!


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий