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

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

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

我需要一种方法来监视每个应用程序池是否崩溃和挂起,并在应用程序池无响应超过 2 分钟时发送电子邮件警报。

我考虑将一个虚拟目录映射到每个站点,并使用 ASP.NET 页面,我们可以通过现有的监控系统进行轮询(主机监控)。

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

答案1

性能计数器可按应用程序池(在APP_POOL_WAS)和ASP.NET Apps(后者,按 .NET 版本)获得。

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

答案2

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

appcmd 列表 apppool /state:已启动

然后您应该获得正在运行的应用程序池列表。

我建议你用 appcmd 写一个脚本,并将该脚本作为调度任务。这样当某些应用程序池崩溃时,你就可以收到电子邮件通知。

相关内容