在IIS7中监视大量应用程序池的最佳方法是什么?

首先介绍一些背景知识 – 我们在Windows 2008上运行IIS 7.我们每台服务器运行大约250个网站,每个站点都有自己的应用程序池

我需要一种方法来监视每个应用程序池的崩溃和挂起,并发送一个电子邮件警报,如果应用程序池没有反应超过2分钟。

我想通过一个ASP.NET页面映射到每个站点的虚拟目录,我们可以通过现有的监视系统( HostMonitor )进行轮询。

有其他人有这方面的经验吗?

性能计数器可通过应用程序池(位于APP_POOL_WAS下)和ASP.NET Apps (后者通过.NET版本)提供。

这些包括应用程序池正常运行时间,请求/秒和许多其他信息。

在IIS 7中,您可以使用appcmd来监视应用程序池。 例如,您在CMD中input如下命令:

appcmd list apppool / state:已启动

那么你应该得到一个正在运行的apppools列表。

我build议你用appcmd编写一个脚本,并把脚本作为一个调度程序任务。 然后,当某些应用程序崩溃时,您可以收到电子邮件通知。