Кто то начинает сразу в тех. поддержку звонить, кто то идет пить кофе и перекурить , предполагая что оно все само разрулится, кто то еще 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