С тех пор, как в Windows появились службы, администраторам приходится решать проблемы, связанные с неожиданным прекращением их работы. Конечно, в системе предусмотрен механизм, позволяющий автоматически запустить службу после аварийной остановки, но он редко срабатывает корректно (мне приходилось пользоваться этой функцией, хоть я и знаю, что она несовершенна). Причины сбоев бывают самые разные, но чаще всего они связаны с работой сторонних приложений или возникают из-за нехватки ресурсов.
Для критически важных серверов можно настроить отправку дополнительных уведомлений о сбое, использовав опцию «Запуск программы» (Run A Program) на вкладке «Восстановление» (Recovery) в свойствах службы. Можно привязать к службе сценарий PowerShell, файл VBS или BAT, который будет уведомлять администратора, а затем пытаться возобновить работу службы, чтобы ускорить реагирование в случае сбоя. Также можете скачать другие полезные vbs скрипты для вашего ПК.
На рис. A показана настройка опции «Запуск программы» для одной из служб.
Рисунок A. Нажмите на изображении для увеличения.
Другие опции, в частности «Перезагрузка компьютера» (Restart The Computer), пожалуй, чересчур экстремальны. Лично я бы хотел иметь возможность самостоятельно решить проблему, потому что в противном случае сбой может привести к непрерывной череде перезагрузок.
Программа должна быть компактной и простой, чтобы ее легко было запускать автоматически. Сценарии PowerShell в этом контексте оказываются сложнее для запуска, чем файлы BAT и VBS. Если в случае сбоя предусмотрена отправка электронного уведомления, придется установить почтовый клиент — например, Microsoft Outlook или альтернативные решения (хотя я не любитель установки стороннего ПО на сервер). Кроме того, стоит настроить отправку уведомлений о результатах перезапуска службы.
Любые функции, способные ускорить реагирование при сбоях в работе служб, высоко ценятся администраторами. К сожалению, зачастую разработчики сторонних приложений не обеспечивают в своих продуктах корректную поддержку служб, а исправить такие приложения самостоятельно не представляется возможным.
А какие способы повышения доступности служб Windows известны вам? Поделитесь своим опытом в комментариях!