Подтвердить что ты не робот

Как контролировать службы Windows

Я ищу способ отслеживать определенные службы Windows (в Windows Server 2003) и перезагружать, если необходимо y. Сервисы находятся на разных серверах и включают в основном службы SQL Server (например, агент SQL Server), а также некоторые собственные сервисы.

Отправленные оповещения по электронной почте, если служба остановилась, также очень полезны.

4b9b3361

Ответ 1

"Возможно, достаточно", версия этого встроена в Windows. Просмотрите вкладку "Восстановление" свойств службы, доступную через services.msc.

Вы можете действовать сбой службы:

  • "Перезапустить службу"
  • "Запустить прогаму"
  • "Перезагрузите компьютер"

"Запустить программу" может быть небольшой script, который отправляет почту, например.

Если вы хотите получить более крупное решение с обзорной панелью и все, доступно множество решений для мониторинга системы. Например, SolarWinds IPMonitor приходит на ум, или Nagios, или Cacti.

Ответ 2

Если вас интересует какое-то .NET-программирование, пространство имен System.ServiceProcess предоставляет классы, которые позволяют реализовать, установить и управлять Windows сервисные приложения.

Простой пример: проверка и запуск службы на С#:

var srv = new ServiceController("MyService");
Console.WriteLine("MyService Status {0}", srv.Status);
if (srv.Status != ServiceControllerStatus.Running)
    srv.Start();

Ответ 3

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

wmic /node:[hostname] service list

способен перечислять службы любого компьютера

WMIC SERVICE where caption='TELNET' CALL STARTSERVICE

перезапустит службу telnet.

Если вы инкапсулируете wmic на язык script (способный отправлять электронную почту), вы можете найти инструмент мониторинга, который вы ищете.

Ответ 4

Это зависит от того, что вы хотите контролировать:

  • Служба фактически остановилась в отношении диспетчера управления службами (SCM).
  • Служба потерпела крах без осознания SCM - это очень часто из-за потоковой передачи.
  • Служба висит без осведомленности SCM - также очень распространена.

Для первого элемента вы можете настроить службу для запуска script, который отправляет оповещение по электронной почте. Обратите внимание, что это может быть очень неприятно, если служба продолжает перезагружаться из-за не зависящих от него обстоятельств (зависимость от слабого сетевого соединения или что-то еще).

Для двух других предметов вам понадобится услуга "Heartbeat", которую вы можете либо построить, либо купить. Будьте осторожны, чтобы монитор сердечного ритма работал локально в службах, которые он отслеживал, потому что, как я писал некоторое время назад, сеть не является надежной.

Ответ 6

+1 для обеспечения контроля за обслуживанием на локальной машине.

Что-то вроде Service Hawk может отслеживать ваши услуги и перезапускать их, если они должны остановиться и отправит вам уведомление по электронной почте. Вы также можете рассмотреть возможность планирования периодических перезагрузок, поскольку, как упоминалось еще одним плакатом, служба не всегда отображается как "остановлена" в отношении SCM. В этих случаях служба зависает, замораживается или иным образом перепутана и перезапускает службу каждый раз в то время, когда расписание обеспечивает ее бесперебойную работу. Он просто очищает память и т.д. И дает ей новое начало.

Ответ 7

Ну, вас заинтересует продукт Blade Logic под названием Blade Logic Configuration Manager? Это не бесплатно, но это может сделать намного больше, чем мониторинг окон. Просмотрите его. Он будет делать все, что вы задали в своем вопросе, и многое другое