2010-03-02 3 views
3

Я работаю над унаследованным продуктом, который имеет семь служб Windows и пользовательский интерфейс. Есть некоторые ошибки в сервисах, которые приводят к краху каждые 10-15 дней. Мне нужно написать приложение для мониторинга состояния служб. Если службы разбиваются, мне нужно отправить электронное письмо администратору, чтобы запустить службы.Service Watch-dog design

Я не могу использовать процесс автоматического восстановления, так как во время некоторых сбоев появляется диалоговое окно отчета об ошибке Microsoft или некоторые другие диалоги, и служба считается запущенной до тех пор, пока сообщение не будет подтверждено.

Итак, я планирую пойти для этого индивидуального приложения/службы наблюдения, чтобы отслеживать сбои, пока ошибки в исходных сервисах не будут полностью исправлены.

Пожалуйста, поделитесь своими взглядами на дизайн обслуживания сторожевой собаки.

Спасибо.

+1

Вы checck, если есть такие инструменты, уже существующие в сети. – ckv

ответ

1

Вопрос о том, что восстановление службы Windows не запускается из-за неотображаемого диалогового окна ошибки. Возможно, вам нужно что-то обнаружить, что диалоговое окно ошибки открыто, и нажмите кнопку. Таким образом, служба может успешно завершить работу и восстановление службы Windows.

У меня есть attached программа, которую я использую, чтобы автоматически нажимать на раздражающие диалоги очистки. Ниже приведен пример файла конфигурации, который управляет программой. Все, что вам нужно сделать, это добавить новую строку clickInfo и заполнить правильные окна и подписи кнопок.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="clickConfiguration" type="ClickButton.ClickConfigurationSection, ClickButton"/> 
    </configSections> 
    <clickConfiguration>  
    <clickInfo windowName="ClearCase" buttonName="Proceed" /> 
    </clickConfiguration> 
</configuration> 

Надеюсь, это поможет!

+0

Это помогло .. – bdhar

2

С вашего вопроса я понял, что окна не могут определить, заканчивается ли сервис, потому что он показывает dialouge. Если окна не могут обнаружить, что служба выключила, как это приложение.
вам нужно будет найти доказательства того, что этот процесс выполняет то, что должен делать. проверяя, что файл журнала растет или видит, что события пишутся, является самой простой вещью.

-1

Забавно, как вам нужно вручную редактировать реестр, чтобы отключить DrWatson и есть командная строка, чтобы включить его обратно;) здесь, проверить это Microsoft KB: http://support.microsoft.com/kb/188296

+0

Хорошо, я саркастически, но модератор по ссылке? Он содержит инструкции по отключению Dr Watson – Eddy

0

Если вы не можете исправить эти услуги, но могут «выставить» их как HTTP-ресурс в Интернете, вы можете использовать онлайн-службы мониторинга веб-сайтов, чтобы периодически проверять, продолжают ли службы (сервисы). Создайте небольшой веб-сайт, который знает, как «пинговать» ваши службы (ы) локально и запрашивать свои страницы по расписанию одной из этих служб мониторинга.

Я знаю несколько таких услуг: http://www.setcronjob.com/, http://www.webcron.org/, http://scheduler.codeeffects.com. Последний может даже контролировать ваши HTTP-ресурсы в вашей частной сети, но эта функция не является бесплатной. Надеюсь это поможет.