Войти

Показать полную графическую версию : Как отследить сбой службы


ES
19-07-2018, 12:14
Здравствуйте!

Стоит лицензионная Windows 10 Pro.
Установлена специальная служба, к которой обращаются с запросами по HTTP через интернет, и она отправляет ответы.
Периодически эта служба отваливается.

В свойствах службы указаны действия при сбоях: "сбой1 - перезапуск службы", "сбой2 - перезапуск службы", "сбой3 - перезагрузка компьютера".

Скажите, пожалуйста:
1) Как система определяет, что служба "сбойнула"?
2) Как можно отследить когда был сбой и какое действие было выполнено?

И что обозначают параметры "Сброс счетчика ошибок через 0 дн." и "Перезапуск службы через 1 мин."?

ES
23-07-2018, 10:17
Ребята, подскажите, пожалуйста

Где-нибудь хранятся протоколы работы служб?

Petya V4sechkin
23-07-2018, 10:55
Где-нибудь хранятся протоколы работы служб?
При сбоях служб в журнал событий пишутся ошибки от источника Service Control Manager (коды 7023, 7022, 7024, 7031, 7034, 7000, 7009, 7011 и т. д.).
Кроме того, службы могут записывать свои индивидуальные логи, если это заложено в их программном коде.

1) Как система определяет, что служба "сбойнула"?
За состоянием служб следит Service Control Manager (системный процесс services.exe).

ES
23-07-2018, 11:25
Кроме того, службы могут записывать свои индивидуальные логи, если это заложено в их программном коде. »
Да, свой лог есть, но он очень скудный.
Есть только информация, что произошел сбой, но нет никакой информации о причине сбоя.

За состоянием служб следит Service Control Manager (системный процесс services.exe) »
А как он понимает, что служба сбойнула?
Периодически опрашивает? Какие-то специальные сообщения службе посылает?

Petya V4sechkin
23-07-2018, 13:09
А как он понимает, что служба сбойнула?
Если она завершается с ненулевым кодом выхода.

ES
24-07-2018, 16:01
Я проверил системный журнал событий...

Так вот для последнего случая, когда был сбой в службе и она была остановлена, в системном журнале никаких записей нету.
В своем собственном журнале в момент сбоя эта служба написала "failure exception".

Получается система "не видит" когда служба остановилась?
Или видит, но нигде это не отмечает.

Petya V4sechkin
24-07-2018, 21:24
Получается система "не видит" когда служба остановилась?
Значит, эта доморощенная служба завершилась с кодом 0, несмотря на "failure exception". Потому что криво написана.

ES
25-07-2018, 16:29
Значит, эта доморощенная служба завершилась с кодом 0, несмотря на "failure exception". Потому что криво написана. »
Похоже на то.
Отправили запрос разработчикам.

ES
13-08-2018, 14:07
Продолжается разбор полетов нашей службы...

В очередной раз в ней произошел сбой и она остановилась.
И снова в системном журнале никаких сведений об этом событии :(

Казбек
13-08-2018, 23:30
Предлагаю проследить в целом за службой, используя 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