Могу ли я настроить IIS 7.5 для записи в журнал событий Windows при запуске или остановке одного из сайтов на веб-сервере? Например, когда кто-то запускает / останавливает сайт через пользовательский интерфейс диспетчера IIS.
Я знаю, что могу настроить Application_On {Start, End} для каждого из веб-сайтов, чтобы записывать собственное сообщение в журнал событий Windows, но мне просто интересно, есть ли что-то уже встроенное. Я также знаю об активации ведения журнала утилизации пула приложений, но это не то же самое, что запуск / остановка сайта, особенно если несколько сайтов используют один и тот же пул приложений.
В частности, было бы очень полезно, если бы в нем было указано имя пользователя, который запустил / остановил сайт.
Одна вещь, которую я уже пробовал, - это включить ведение журнала событий IIS-Configuration> {Administrative, Operational}, но, к сожалению, там ничего не появляется при запуске / остановке.
Взгляните на XML-представление журнала событий с идентификатором 29. Там вы можете увидеть, как OldValue и NewValue меняются от одного состояния к другому.
OldValue> Запуск NewValue> Остановлено
\? \ C: \ Windows \ system32 \ inetsrv \ config \ applicationHost.config MACHINE / WEBROOT / APPHOST /system.applicationHost/sites/site[@name="Default Web Site "и @ id =" 1 "] / @ state 1 Пуск остановлен
Пару вещей. Когда я включаю журнал событий Microsoft-Windows-IIS-Configuration / Operational, я получаю события, когда сайт запускается или останавливается. Я получаю событие 29 "Verbose" с таким содержанием:
Изменения в «/system.applicationHost/sites/site[@name="Default Web Site» и @ id = «1»] / @ state »в« MACHINE / WEBROOT / APPHOST »успешно зафиксированы.
Это на сервере 2008 R2. Теперь это не говорит вам, запущен сайт или остановлен, а просто указывает, что он изменил статус. Может быть полезно следить за этим журналом.
Давным-давно я написал это: http://www.eventsentry.com/blog/2010/02/how-to-really-monitor-smtp-pop.html. Это был сценарий VBScript, который перечислял виртуальные каталоги в IIS и сообщал вам, когда один из них был остановлен. Это работает в 2003 году, но, к сожалению, не в 2008 году. Возможно, это будет отправной точкой, я вернусь к этому в какой-то момент, чтобы мы могли обновить скрипт.
Не ответ, но может приблизить вас к тому, чего вы пытаетесь достичь. Вам определенно понадобится какой-нибудь скрипт (который, возможно, запускается указанным выше событием), который перечислит сайты и их статус.
То, что вы хотите сделать, изначально не встроено в Windows / IIS.
Единственное, что, как мне кажется, могло бы приблизиться, - это искать, когда заголовки журнала будут перезаписаны. Заголовки журналов перезаписываются с запусками и остановками, поэтому вы можете довольно хорошо представить, когда, но не знаете, кто.
Так что, опять же, извините, нет.