Короче говоря, у нас есть 2 веб-сервера (IIS 6), на которых запущено стороннее приложение asp.net. Случайно (пока) они просто ... перестают работать. У меня есть внешний контроль, который скажет мне, когда он перестанет работать в течение минуты или около того. Сейчас мне нужно подключиться к машинам через RDP и выпустить iisreset. Это нормально, пока я не сяду за машину и не займусь одним PDQ.
Я написал простую страницу, которая выдаст iisreset на удаленной машине (ах). Обычно это работает. Иногда «iisrestart \ machinename» останавливает службу IIS, но не перезапускает ее, что плохо.
В идеале я хотел бы знать, могу ли я просто остановить службу, попытаться запустить ее, и, если она не запустится через 10 секунд, попробуйте запустить ее снова. Но я не знаю, как удаленно отслеживать статус сервиса.
Может ли кто-нибудь указать мне правильное направление?
Я имел дело с аналогичной проблемой четыре или пять лет назад, за исключением собственного приложения, которое переписывалось.
Если в журнале событий возникло какое-либо событие, вы можете настроить приемник, который отслеживает это событие и запускает скриптовый сброс через vbs / wmi.
Проверьте официальные документы MS.
РЕДАКТИРОВАТЬ - Уродливо .. Если у вас есть Nagios, вы можете настроить обработчик событий на основе времени отклика страницы, который выполняет сброс / повторное использование.
Я думаю, вам лучше переработать пул затронутых приложений на неотвечающем сервере: http://technet.microsoft.com/en-us/library/cc770764(WS.10).aspx
Если вы запустите IIS6, это может быть интересно (в широком смысле это также относится к IIS7): http://blogs.msdn.com/b/david.wang/archive/2006/01/26/ought-on-application-pool-recycling-and-application-availability.aspx
Но лучшее, что вы могли бы сделать, это, вероятно, устранить неполадки в приложении и убедиться, что оно не перестает работать.
ОБНОВИТЬ: Поскольку вы используете IIS6, прочтите статью выше и посмотрите вот что: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1eee28e2-b319-4b4e-8267-a8c0aa0dcf36.mspx?mfr=true
Несколько лет назад Крис Адамс написал в блоге небольшое приложение для переработки пулов приложений IIS (использующих WMI), это может пригодиться: http://blogs.iis.net/chrisad/archive/2006/08/30/Recycling-Application-Pools-using-WMI-in-IIS-6.0.aspx