AdminDB_Alarm (Рассылка SMS сообщений)





Исходная ситуация.  Начало рабочего дня (6, 7, 8 , 9 часов). Основная масса сотрудников появляется на рабочих местах, загружаются компы, загружаются базы, менеджеры жаждут выписать новые счета, склад сформировать отгрузки, клиенты получить документы и отнести презренное золото в кассу и тд. Стандартное начало рабочего дня. И вдруг "FAIL"… Выясняется, что часть сотрудников (а может, и все) в БД зайти не могут

 Кто то начинает сразу в тех. поддержку звонить, кто то идет пить кофе и перекурить , предполагая что оно все само разрулится, кто то еще 2 часа общается с клиентом по телефону и только потом вспоминает что была какая то проблема. Как итог – зачастую факт что есть проблема с доступом в БД в ИТ узнают последними.  Начинается поиск причин и попыток устранения сбоев. Хорошо если удается быстро решить – 5 мин (свич подвис), но бывает время проходит поболее ….   Час, три, сутки (упс)… Сотрудники нервничают (работа хоть и не волк , но за невыполнение планов можно и огрести), клиенты нервничают (понятно почему), телефон в ИТ раскален (ну скажите хоть примерно когда ?), руководство косится и порывается получше наточить шашку (а может уже и дробовик заряжает)…  

Уважаемые коллеги, предположу, что подобные ситуации, в той или иной интерпретации были у многих . Были и у нас. Причины здесь самые разнообразные, подвисшее оборудование (тот же свич), провайдер интернет отключил в удаленном офисе (не проплатили), циска погорела (а SmartNet … увы), в конце концов ключи погорели.

Анализ подобных ситуаций показал, что если бы об имеющейся проблеме (коннект к БД) было бы известно заранее (сбой произошел например ночью, в 2-00, а в 6-00 кто то бы получил alarm о сбое) , то часть проблем можно было бы решить  не доводя до состояния ”GLOBAL FAIL”, а по части как минимум попытаться смягчить последствия…..

Возникла идея – может в указанный день (дата, время, срок, 3 зеленых свистка) попытаться автоматически проэмулировать вход сотрудника в БД ?

Изначально инструмент виделся достаточно простым . По шедулеру грузим БД 1С, по списку через ОЛЮ или СОМ пытаемся соединиться с другими БД. Есть соединение- ну и славненько, нет соединения – смс сообщение админам (тех поддержке) через интернет,  типа “тут проблемка с БД ХХХ, имей ввиду….”. Но если инет упал, или база не загрузилась (проблема с ключами, например) – опять же fail.

Поэтому возникла идея такой вот программки AdminDB_Alarm (далее Alarm). Написанная на чем угодно (кроме 1С) и не использующая для алертов инет.

Что получилось можно увидеть в архиве и на скринах.

Часть 1. Alarm грузим и по шедулеру , периодически (настраивается) проверяем коннект к списку БД (настраивается). В случае неудачной попытки идет рассылка смс сообщений группе администраторов (настраивается). Рассылка смс сообщений идет через GSM модем. Сам сервис поднят на точках, наиболее критичных для бизнеса.

  Итог(часть 1).

       Alarm работает, от нескольких засад описанных выше уже спасал. SMS-ки валятся толпами (в принципе как настроить и распределить задачи).

    — Присутствует оповещение не только о неудачном коннекте к БД, но и о удачном . Как факт что , например, в удаленном офисе мониторинг доступности БД работает исправно и особо продвинутый сотрудник не приделал ноги модему.

   — В принципе присутствует внутренний шедулер, для более точной настройки мониторинга, но на данный момент слишком сырой , что выкладывать в общий доступ. Поэтому на скринах он есть , но в выложенной версии отключен.

 — Соединение с БД идет через COM. При создании COMОбъект(«V82.ComConnector«) создается Com объект 1С версии которая была установлена на компьютер последней. И соответственно может возникает ошибка при подключении к одному из серверов 1С из за разных версий.  Кто может подсказать – как создавать ком объект нужной версии – буду благодарен. У себя проблему решил унификацией релизов.

 

Часть 2. Реализовав такой  функционал встал вопрос : а может в таком случае  GSM модем использовать не только для алертов по коннекту к БД, но и вообще для рассылки SMS сообщений ? Слегка допилил ….

Итог(часть 2).

 — В сети расшарена папка для формирования файлов исходящих SMS сообщений. Пример такого файла можно посмотреть в прилагаемом архиве (*.sms, по сути, текстовый файл с 3-мя строками). Alarm периодически (настраивается)  мониторит данную папку , и в случае нахождения файла требуемого формата формирует исходящее SMS сообщения.

— Обращаю внимание, что при такой реализации в принципе все равно, откуда будет сформировано исходящее SMS сообщение. 1С 6/7/8 хоть 9 , хоть эксель с фотошопом, хоть сварочный аппарат. Главное что бы была воз-ть по некому событию по указанному пути сформировать файл требуемого формата.

 — Мы применяем данный функционал для:

 1.  оповещения части клиентов  (VIP)о готовности заказов (состояния заказов),  сообщения формируются из разных БД 1С.

 2. оповещения внутренних сотрудников по критически важным событиям (главное не заспамить) ,  сообщения формируются из разных БД 1С.

 3. Часть производственного оборудования (ПО) так же формирует SMS сообщения сервис -инженерам о сбоях.(тут правда цепочка несколько длиннее, тк лог файл оборудования нужно предварительно проанализировать и при необходимости сгенерить sms файл)

 

Итог (общий)

— Фактически получился центр SMS рассылок. Первичная задача по проверке коннекта к БД отошла на второй план (по востребованности).

— Стоимость сервиса получается 2-3 тыс. руб. в месяц (внашем случае. Складывается из стоимости исходящих смс сообщений , соот-но оператор, тарифный план и пр.

— Коллеги, широкого тестирования программе не делал. Тестировал и отлаживал на том, что есть, а именно Win7 32 (SP+ все обновления, лицензия), GSM модем от мегафон (Huawei  173), железо свежее, 1C 8.2.14.533 (537) . Присутствует воз-ть подгрузить другой драйвер модема (не использовать авто определение) – корректность не проверял.

— В краш тесте 50 sms сообщений ушло за 2 мин. 20 сек.  В среднем 1 sms – 3 сек.

— Да простят меня коллеги, в выложенной версии кол-во исходящих sms сообщений ограниченно :  не более20 шт. в час. Для большинства текущих задач этого достаточно. Ибо Stop Spam.

— В принципе была идея прикрутить еще и прем sms сообщений и по синтаксису выполнять команды, но пока руки не дошли (да и востребовано ли ?).

— В архиве лежит простенький faq со скринами.

— Программа абсолютно бесплатна. Распространяется по принципу “AS IS” (как есть).

— Вопросы, предложения по работе программы высылать на support@dm-soft.ru.

 

С уважением Александр Паршков aka DM

11 Comments

  1. TrinitronOTV

    интересная разработка

    Reply
  2. a1ex.5k

    Не плохо, в свое время мне очень пригодилась.

    Reply
  3. Михаська

    Сильно! Автору плюс!

    Reply
  4. Misanets

    Блин прикольная вещь, главное бесплатная. Сейчас как раз автоматизирую большинство операций на производстве, где в качестве уведомлений использую корпоративное мыло. Сам думал что хорошо бы еще и смс-ку получать о той или иной ситуации, но ничего за что-бы можно было-бы зацепиться не придумал. А тут готовое решение 🙂

    Можно уточнить один вопросов: «Используется GSM модем. Он лезет в инет и отправляет или отправляет с номера симкарты не используя инет?»

    Reply
  5. dmsoft

    Если бы для отправки использовался инет , я бы отдельную программу писать не стал.

    инет не используется категорически, именно такая задача и была, что бы в случае падения нета смс ки все равно приходили … используется строго GSM модем ну и сим карта его.

    Reply
  6. Misanets

    Будем посмотреть…

    Reply
  7. e-katerina

    Отличная идея! Плюс.

    Reply
  8. Программулькин

    сильно, просто, актуально!

    Reply
  9. proger1c81

    За идею и AS IS плюс!

    Reply
  10. zif74

    Неужели бесплатно?

    Reply
  11. Pretender195

    Автору большой плюс. Спас мою голову от карающей длани руководства

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *