|
Как отследить событие остановки службы сервера 1С (Windows 2008)
| ☑ |
0
arsik
гуру
15.01.14
✎
20:19
|
Нужно при остановке службы сервера некоторые действия сделать. Не важно в ручную служба останавливается или из-за сбоя.
Поискал события не нашел таких, может кто то знает?
|
|
1
Torquader
15.01.14
✎
22:29
|
Можно периодически проверять состояние службы, а можно в ней поставить автоматический перезапуск при падении, тогда она сама сможет узнать, что упала и решить, как этого избежать.
Вообще-то, ServiceStatus можно получать, а можно отправлять команды через ControlService, но права админа будут нужны.
|
|
2
Сержант 1С
16.01.14
✎
00:35
|
1 повершеллом отслеживать
2 повесить шедулером скрипт на изменение состояния службы
3 мониторить сторонним софтом, пртг или 10-страйк
|
|
3
1dvd
16.01.14
✎
07:44
|
Это, не?
|
|
4
arsik
гуру
16.01.14
✎
10:25
|
(1) (2) (3) Остановка сервиса может быть не только из за сбоя. В основном сервис останавливается вручную, но иногда бывают и аварийные. Мне нужно все эти случаи отследить.
Как повершелом отслеживать как? Постоянно проверять запущен ли сервис. Это не выход.
|
|
5
МихаилМ
16.01.14
✎
10:29
|
(0)
события wmi Вам в помощь.
|
|
6
ЧеловекДуши
16.01.14
✎
10:37
|
(0) Пиши свою службу, которая будет отслеживать процесс от "1С". И если он не запущен, то и делать, то что тебе надо :)
|
|
7
ЧеловекДуши
16.01.14
✎
10:38
|
(4) Аварийные случаи решаются просто, там в настройках есть параметры перезапуска.
|
|
8
Torquader
16.01.14
✎
10:51
|
Первая ссылка в google:
|
|
9
arsik
гуру
16.01.14
✎
12:32
|
(7) Это я в курсе - это самое простое, а мне нужно еще отследить и штатные остановки.
(8) Это вариант из (6) писать свою службу.
|
|
10
Jaap Vduul
16.01.14
✎
12:59
|
Service control manager в системном журнале фиксирует изменение статусов всех служб.
Навесить на это дело пару стандартных task с триггером на "On an event" - один на штатное завершение ("Служба ... перешла в состояние Остановлена"), другой на аварийное ("Служба ... неожиданно прервана").
|
|
11
arsik
гуру
16.01.14
✎
13:16
|
(10) Копал глубоко, но через него невозможно определить какая служба остановилась ну или я не нашел.
|
|
12
Jaap Vduul
16.01.14
✎
13:48
|
(11)Через xpath практически любой фильтр можно нарисовать, типа:
<Select Path="System">*[System[Provider[@Name='Service Control Manager'] and (EventID=7036)]] and *[EventData[Data[@Name='MyService']]]</Select>
|
|
13
Jaap Vduul
16.01.14
✎
13:52
|
+12
|
|
14
arsik
гуру
16.01.14
✎
13:55
|
(13) Спасибо. ТО что доктор прописал.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший