Some background first - We're running IIS 7 on Windows 2008. We're running around 250 websites per server with each site in it's own application pool.

I need a way to monitor each application pool for crashes and hangs and to send an email alert if an application pool is unresponsive for more than say 2 minutes.

I thought about having a virtual directory mapped into each site with an ASP.NET page that we could poll via our existing monitoring system (HostMonitor).

Does anyone else have experience in this area?


Performance counters are available by Application Pool (under APP_POOL_WAS) and by ASP.NET Apps (the latter, by .NET version).

These include things like app-pool uptime, requests/sec and lots of other information.


In IIS 7, you can use appcmd to monitor the apppool. For example, you type the command as below in CMD:

appcmd list apppool /state:Started

Then you should get a list of apppools which are running.

I suggest you that write a script with appcmd, and put the script as a scheduler task. Then you can get email notifications when some apppools are crashed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.