Показать полную графическую версию : Как отследить сбой службы
Здравствуйте!
Стоит лицензионная Windows 10 Pro.
Установлена специальная служба, к которой обращаются с запросами по HTTP через интернет, и она отправляет ответы.
Периодически эта служба отваливается.
В свойствах службы указаны действия при сбоях: "сбой1 - перезапуск службы", "сбой2 - перезапуск службы", "сбой3 - перезагрузка компьютера".
Скажите, пожалуйста:
1) Как система определяет, что служба "сбойнула"?
2) Как можно отследить когда был сбой и какое действие было выполнено?
И что обозначают параметры "Сброс счетчика ошибок через 0 дн." и "Перезапуск службы через 1 мин."?
Ребята, подскажите, пожалуйста
Где-нибудь хранятся протоколы работы служб?
Petya V4sechkin
23-07-2018, 10:55
Где-нибудь хранятся протоколы работы служб?
При сбоях служб в журнал событий пишутся ошибки от источника Service Control Manager (коды 7023, 7022, 7024, 7031, 7034, 7000, 7009, 7011 и т. д.).
Кроме того, службы могут записывать свои индивидуальные логи, если это заложено в их программном коде.
1) Как система определяет, что служба "сбойнула"?
За состоянием служб следит Service Control Manager (системный процесс services.exe).
Кроме того, службы могут записывать свои индивидуальные логи, если это заложено в их программном коде. »
Да, свой лог есть, но он очень скудный.
Есть только информация, что произошел сбой, но нет никакой информации о причине сбоя.
За состоянием служб следит Service Control Manager (системный процесс services.exe) »
А как он понимает, что служба сбойнула?
Периодически опрашивает? Какие-то специальные сообщения службе посылает?
Petya V4sechkin
23-07-2018, 13:09
А как он понимает, что служба сбойнула?
Если она завершается с ненулевым кодом выхода.
Я проверил системный журнал событий...
Так вот для последнего случая, когда был сбой в службе и она была остановлена, в системном журнале никаких записей нету.
В своем собственном журнале в момент сбоя эта служба написала "failure exception".
Получается система "не видит" когда служба остановилась?
Или видит, но нигде это не отмечает.
Petya V4sechkin
24-07-2018, 21:24
Получается система "не видит" когда служба остановилась?
Значит, эта доморощенная служба завершилась с кодом 0, несмотря на "failure exception". Потому что криво написана.
Значит, эта доморощенная служба завершилась с кодом 0, несмотря на "failure exception". Потому что криво написана. »
Похоже на то.
Отправили запрос разработчикам.
Продолжается разбор полетов нашей службы...
В очередной раз в ней произошел сбой и она остановилась.
И снова в системном журнале никаких сведений об этом событии :(
Предлагаю проследить в целом за службой, используя PM. Общий вектор движения:
Scenario 2: Service Startup Failure (https://blogs.technet.microsoft.com/askperf/2007/06/01/troubleshooting-with-process-monitor/)
Troubleshooting service startup issues with Process Monitor (https://blogs.msdn.microsoft.com/webtopics/2009/06/16/troubleshooting-service-startup-issues-with-process-monitor/)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.