Вопрос к системным администраторам: скажите, в вашей практике были такие ситуации, когда какое-то приложение с очень важным функционалом переставало нормально работать, а вы узнавали это чуть ли не в последнюю очередь, и что еще хуже – от недовольных пользователей? В моей практике такое случалось.
Та версия специфической СУБД, которая использовалась в моей организации, была слегка устаревшей, а обновлять руководство её не спешило. В то время я был ответственным за ее функционирование. И до сих пор помню, сколько нервов я потратил из-за одной службы из состава СУБД, которая часто падала, прекращая возможность доступа к данным из прикладных программ, работающих с ней. Конечно, кроме этой обязанности у меня было еще много важных дел, и я не мог постоянно наблюдать за состоянием этой службы. Бывали случаи, когда она просто завершала свою работу, а было такое, что состояние службы оставалось «Запущена», но нормально функционировать всё равно отказывалась и делала запись о критической ошибке в журнал событий Windows (Event log). Вот тут и начинались звонки из канцелярии, отдела кадров и других подразделений. Сколько мне приходилось выслушивать… А всего этого я мог избежать, если бы узнавал о сбое службы в тот же момент.
В таких ситуациях единственное, что может помочь – это постоянный автоматизированный мониторинг состояния службы. К примеру, программа мониторинга сети 10-Strike LANState успешно справляется с этой задачей. Вам нужно только указать адрес сервера, где эта служба работает и её имя. Дальше можете спокойно заниматься своими делами, ведь программа всё сделает за вас. Как только служба «свалится», программа мгновенно сообщит об этом любыми выбранными способами: отправит SMS на ваш телефон или e-mail на почтовый адрес, запустит проигрывание звукового файла, покажет сообщение на экране. Даже выполнить какой-то ваш скрипт на языке JavaScript или VBasic для LANState не составит труда. В завершение всего, программа может попытаться самостоятельно запустить или перезапустить службу. Тогда вашего вмешательства тут может даже и не потребоваться.

А что делать, если служба не перешла в состояние «Остановлена», но нормально уже не функционирует из-за внутреннего сбоя? В этом случае поможет поиск сообщения об ошибке в журнале событий. Журнал событий Windows (Event log) - это системный журнал, куда операционная система записывает информацию о работе служебных и пользовательских программ, события аудита безопасности, программные и аппаратные сбои. Журнал событий - незаменимый инструмент системного администратора. В первую очередь, после сбоя в работе какой-либо службы или Windows в целом, администратор начинает смотреть записи в журнале событий, предшествующие этому сбою.

Но самостоятельно открывать каждый раз «Просмотр событий» и искать там нужную строчку, согласитесь, абсурдное занятие. Конечно же это должна делать программа. 10-Strike LANState и тут может оказаться кстати. Она предлагает более продвинутый механизм работы с журналом - мониторинг журнала событий Windows. LANState автоматически через определенный интервал времени зачитывает последние записи журнала событий, ищет среди них критические и сообщает об этом администратору. Параметры мониторинга журнала событий позволяют гибко настроить фильтры сообщений и обнаруживать только определенные их категории. Например, только сообщения об ошибках. Или сообщения от какой-либо конкретной программы или службы. Кроме этого, программа может читать текст сообщения и искать в нем заранее заданные ключевые слова, свидетельствующие о той или иной ситуации.

Так же, как и в случае с мониторингом состояния службы, программа оповестит вас о наличии ошибки в журнале событий и может самостоятельно перезапустить службу.
Однако самый лучший способ узнать о работе службы – это проверить функционирование сервиса, который она предоставляет. К примеру, в случае со службой СУБД нужно периодически делать тестовый запрос из базы данных, в случае со службой web-сервера – пытаться получать какую-либо страницу с сайта и т.д. 10-Strike LANState позволяет выполнять тестовые проверки многих распространённых сервисов: FTP, HTTP, DNS, MS SQL, MySQL и других.