Кто то начинает сразу в тех. поддержку звонить, кто то идет пить кофе и перекурить , предполагая что оно все само разрулится, кто то еще 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
интересная разработка
Не плохо, в свое время мне очень пригодилась.
Сильно! Автору плюс!
Блин прикольная вещь, главное бесплатная. Сейчас как раз автоматизирую большинство операций на производстве, где в качестве уведомлений использую корпоративное мыло. Сам думал что хорошо бы еще и смс-ку получать о той или иной ситуации, но ничего за что-бы можно было-бы зацепиться не придумал. А тут готовое решение 🙂
Можно уточнить один вопросов: «Используется GSM модем. Он лезет в инет и отправляет или отправляет с номера симкарты не используя инет?»
Если бы для отправки использовался инет , я бы отдельную программу писать не стал.
инет не используется категорически, именно такая задача и была, что бы в случае падения нета смс ки все равно приходили … используется строго GSM модем ну и сим карта его.
Будем посмотреть…
Отличная идея! Плюс.
сильно, просто, актуально!
За идею и AS IS плюс!
Неужели бесплатно?
Автору большой плюс. Спас мою голову от карающей длани руководства