在 IIS 站点启动或停止时写入 Windows 事件日志

LWi*_*son 6 iis windows-event-log iis-7.5

我是否可以将 IIS 7.5 配置为在 Web 服务器上的站点之一启动或停止时写入 Windows 事件日志?例如,当有人通过 IIS 管理器用户界面启动/停止站点时。

我知道我可以为每个网站配置 Application_On{Start,End} 以将自定义消息写入 Windows 事件日志,但我只是想知道是否已经内置了一些东西。我也知道激活应用程序池回收的日志记录,但这与启动/停止站点不同,尤其是当多个站点共享同一个应用程序池时。

特别是,如果它列出了启动/停止站点的用户的姓名,那将非常有帮助。

我已经尝试过的一件事是启用日志记录到 IIS-Configuration>{Administrative, Operational} 事件日志,但不幸的是,当启动/停止发生时,那里什么也没有出现。

Luc*_*uke 2

有几件事。当我启用 Microsoft-Windows-IIS-Configuration/Operational 事件日志时,我会在站点启动或停止时收到事件。我收到包含以下内容的“详细”事件 29:

对“MACHINE/WEBROOT/APPHOST”处“/system.applicationHost/sites/site[@name="Default Web Site”和@id="1"]/@state”的更改已成功提交。

这是在 Server 2008 R2 上。现在,这不会告诉您该站点是启动还是停止,而只是表明它更改了状态。如果您监视该日志可能会有所帮助。

很久以前我写过这个:http://www.eventsentry.com/blog/2010/02/how-to-really-monitor-smtp-pop.html。它是一个 VBScript,它会枚举 IIS 中的虚拟目录并告诉您其中一个目录何时停止。这适用于 2003 年,但不幸的是不适用于 2008 年。可能是一个起点,我会在某个时候重新访问它,以便我们可以更新脚本。

不是答案,但可能会让您更接近您想要实现的目标。您肯定会需要一些脚本(可能由上述事件触发)来枚举站点及其状态。