Мониторинг службы сервера 1С

Опубликовал Андрей Иваненко (AnderWonder) в раздел Программирование - Внешние компоненты

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

Мониторинг работоспособности службы 1С осуществляется с помощью регламентного задания и vbs-скрипта. Принцип работы следующий: создается регламентное задание, которое 1 раз в минуту делает запись в текстовый файл. В то же время, с помощью планировщика Windows, раз в две минуты запускается специальный vbs-скрипт, который проверяет время модификации этого текстового файла. Если время модификации остается неизменным в течение нескольких проверок, значит регламентное задание не выполняется, что вероятнее всего является следствием зависания службы сервера. Тогда скрипт выполняет определенное действие - либо перезапускает службу, либо отправляет уведомление на электронную почту, либо и то и другое.

Процедура записи в текстовый файл регламентным заданием элементарна и может выглядеть следующим образом:

&НаСервере
Процедура ОбновитьФайлМониторинга() Экспорт
    ИмяФайлаМониторинга="C:\check.txt";
    ТД=Новый ТекстовыйДокумент;
    ТД.Записать(ИмяФайлаМониторинга);
КонецПроцедуры

Скачать файлы

Наименование Файл Версия Размер
Скрипт мониторинга
.vbs 3,56Kb
30.07.13
24
.vbs 3,56Kb 24 Скачать

См. также

PowerTools от 1 000
Добавить вознаграждение
Комментарии
1. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 31.07.13 09:09 Сейчас в теме
А чем не устроил технологический журнал

мы вот такую "поделку" сделали http://www.gilev.ru/status/
2. Андрей Иваненко (AnderWonder) 16 31.07.13 09:22 Сейчас в теме
(1) вещь, конечно, полезная, но чем она поможет в случае внезапного падения службы 1С?
3. bykasan bykasan (bykasan) 31.07.13 10:20 Сейчас в теме
Мониторинг работает ли служба прекрасно делается "GFI N.S.M. 7 Activity Monitor"
а определять автоматом зависла ли она или нет по например времени отклика считаю некорректно, может сервер расчеты выполняет тяжелые какие-нибудь
4. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 31.07.13 10:44 Сейчас в теме
(2) AnderWonder, а вы пробовали пользоваться? :)

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

ну не ребутить же циклически
5. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 31.07.13 10:44 Сейчас в теме
(3) bykasan, а зачем вообще мониторить зависание, пользователи Вам лучше всякого мониторинга "леща" сделают )
а вот с причинами разбираться однозначно надо, но это работа часто постфактум...
6. Андрей Иваненко (AnderWonder) 16 31.07.13 10:53 Сейчас в теме
(3)Работа скрипта проверена почти годом использования - всегда отрабатывает корректно, даже когда сервер загружен на 100%. Регламентное задание, если служба работает нормально, всегда выполняется по расписанию.
"GFI N.S.M. 7 Activity Monitor" - это софт по-моему немного для других целей, для данной задачи он слишком громоздок, сложен в настройке, функционал до конца не ясен и к тому же программа платная.
adhocprog; +1 Ответить
7. Андрей Иваненко (AnderWonder) 16 31.07.13 11:05 Сейчас в теме
(4) (5) Gilev.Vyacheslav, анализ, конечно нужен, но и проблему нужно решать оперативно. К тому же не всегда анализ может дать ответ. Бывает так, что сама служба не останавливается, а начинает глючить - регламентные задания перестают выполняться, клиенты не могут подключиться. Про скорость реакции техподдержки 1С лучше вообще не вспоминать.
А что касается лещей от пользователей - то это кому как нравиться) Если кто-то без пилюлей как без пряников, то пожалуйста. А если надо что бы работало, то я предлагаю вариант.
8. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 31.07.13 11:33 Сейчас в теме
т.е. я правильно понял, что под мониторингом подразумевается рестарт службы если что то зависло?
9. Андрей Иваненко (AnderWonder) 16 31.07.13 11:38 Сейчас в теме
(8) Gilev.Vyacheslav, "Тогда скрипт выполняет определенное действие - либо перезапускает службу, либо отправляет уведомление на электронную почту, либо и то и другое." - можно настроить как угодно.
10. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 31.07.13 12:05 Сейчас в теме
а чем штатный перезапуск не устраивает http://infostart.ru/public/137978/ ?
11. Андрей Иваненко (AnderWonder) 16 31.07.13 12:36 Сейчас в теме
(10) Gilev.Vyacheslav, т.к. он периодичный, то он не решает проблему сбоев, возникающих в период между запланированными перезапусками. А сбой может появиться в любой момент.
12. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 31.07.13 13:01 Сейчас в теме
давайте уточним что за "сбой", у вас на сервере сколько рабочих процессов? циклический перезапуск рабочих штатными средствами кластера организован?
падает ли при сбое процесс сервера 1с? какой?

какие сообщения об ошибках при сбое получают пользователи? получают ли?
13. Андрей Иваненко (AnderWonder) 16 31.07.13 13:32 Сейчас в теме
(12) Gilev.Vyacheslav, 3 рабочих процесса, циклический перезапуск не настроен. 2-3 раза в месяц бывают такие сбои:перестают выполняться регламентный задания, хотя сервер остается доступен; невозможно подключиться к серверу, хотя служба работает.
14. bulpi bulpi (bulpi) 100 31.07.13 14:15 Сейчас в теме
У вас мог зависнуть планировщик фоновых заданий. А пользователи замечательно работают. И тут вы их всех жестко выкидываете.
15. Андрей Иваненко (AnderWonder) 16 31.07.13 14:40 Сейчас в теме
(14) bulpi, вы внимательно читаете? "...либо перезапускает службу, либо отправляет уведомление на электронную почту...".
Каждый решает для себя что ему важнее - нормальное функционирование системы или отключение пользователей на 1 минуту, если они вообще будут в этот момент в базе. И, кстати, не всегда перезапуск службы отрубает пользователей.
16. Alex (s0nya) 31.07.13 14:49 Сейчас в теме
У нас другой прикол.
Подрядчики подключили внешнее оборудование (с сетевым интерфейсом) через натив библиотеки. И если оборудование не доступно (отключено, заглючило...), начинают расти дескрипторы процесса rphost, объяснили проблемами платформы. На 2003 м виндовом сервере при отметке в 3000 - 4000 дескрипторов весь сервер уходит в себя, помогает только физический ресет сервака, благо виртуализированный.
В итоге пришлось написать сервисную приблуду которая мониторит к-во дескрипторов процесса и рестартует в случае их количества больше 2000.
Может это тоже как то решаемо цивилизованными методами?
17. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 01.08.13 00:46 Сейчас в теме
(13) AnderWonder, возможно я не прав, но мне кажется что рестартом вы не решаете проблему, а просто оттягиваете "ее"

если "не работают" фоновые задания, то любые ли фоновые задания не работают? в разных версиях платформы проверяли это поведение? смотрели ли записи EXCP в технологическом журнале когда фоновые задания перестают работать?

исключительно для локализации проблемы (Не для эксплуатации) в момент подвисания фоновых заданий можно создать новый кластер, прописать там ту же информационную базу и проверить, а из него фоновые задания работают (только не пишите фоновыми заданиями, а только читайте)
18. Андрей Иваненко (AnderWonder) 16 01.08.13 13:33 Сейчас в теме
(17) Gilev.Vyacheslav, на самом деле, в моём случае, рестарт решает проблему. Можно, конечно, попытаться сделать всё что вы написали, только всё это слишком хлопотно и вероятность что как-то поможет, мне кажется, не высока. Даже если что-то и удастся выяснить, то что можно будет сделать? Служба настроена и 95% времени работает нормально, а сбои в её работе - это результат багов платформы, которых, как общеизвестно не лишены продукты 1С. Впрочем, как и продукты других компаний.
19. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 01.08.13 13:50 Сейчас в теме
(18) AnderWonder, пока что наша практика показывает, что баги вызваны неумением применять продукцию 1С, хотя конечно часто конфигурации (доработанные чаще всего!) этому не способствуют и предполагают что вы эксперт в этой области

т.е. это не 1с плохая, а проблемы надо решать, а не менять одну программу на другую, я еще не видел ни одной программы которая была бы идеальна...
20. Андрей Иваненко (AnderWonder) 16 01.08.13 14:24 Сейчас в теме
(19) Gilev.Vyacheslav, так никто и не говорит что 1С плохая), действительно, идеальных программ не существует. Может и я чего-то делаю не так, надо будет ещё поразбираться.
Ну а пока данное решение работает и обеспечивает непрерывное функционирование программы, может оно и кому ещё поможет. А там глядишь и 1С что-нибудь более стабильное и надежное выпустит.
21. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 01.08.13 15:11 Сейчас в теме
(20) AnderWonder, пока фирма 1с не узнает о проблеме, она не сможет ее решить, вы не сообщаете фирме 1с о проблеме, зато ждете пока она ее решит - изъян в своей логике не находите?
22. Андрей Иваненко (AnderWonder) 16 01.08.13 15:56 Сейчас в теме
(21) Gilev.Vyacheslav, ну сообщить о проблеме это ещё не гарантирует, что её решат - есть, например, официально зарегистрированные в 1С баги типовых конфигураций, которые остаются не исправленные годами.
А к вопросу об изъяне в логике, я считаю, что корпорация, занимающаяся разработкой ПО, если она заботится о качестве своего продукта, должна иметь собственные отделы тестирования, где выявлением багов и глюков должны заниматься специалисты, а не перекладывать полностью эту функцию на пользователей.
23. Вячеслав Гилёв (Gilev.Vyacheslav) 1822 01.08.13 23:05 Сейчас в теме
(22) AnderWonder, вот так все по кругу и происходит, разработчики надеются что вы их оповестите о проблемах, вы считаете что другие оповестят, другие думают что тоже другие оповестят, а в результате имеем то что имеем :)

Думаю дальше обсуждать нечего, поскольку из того как вы излагаете вы глубоко тестированием не занимались, и плохо представляете о чем рассуждаете. На досуге подумайте, как бы написать систему тестирования так, чтобы она обнаруживала все теоретические ошибки )))
24. Владимир Гусев (adhocprog) 1071 20.09.13 14:40 Сейчас в теме
Спасибо автору за идею! Очень полезная )
25. Михаил Ражиков (tango) 467 20.09.13 14:57 Сейчас в теме
На досуге подумайте, как бы написать систему тестирования

у флагмана, видать, досуга не бывает - все о деле, о деле...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа