What's the best way to monitor a large number of application pools in IIS7?
Solution 1
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.
Solution 2
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.
Related videos on Youtube
![Kev](https://i.stack.imgur.com/dySwp.jpg?s=256&g=1)
Kev
###Actively looking for freelance work ###About Me: I'm a professional software developer and have spent my time building provisioning and web based self-service systems for IIS, Apache and Citrix XenServer, amongst other things. My Curriculum Vitae can be viewed on Stack Overflow Careers (might be a bit out of date). Stuff I like to listen to at last.fm You can get in touch here: kevin.e.kenny #@# gmail.com (you know what to do with the # and spaces). No Survey Emails Please. Also not ashamed to admit I like trains, mostly diesels, late Era 8 (BR Sectorisation) and Era 9 onwards :) I'm also interested in signalling if anyone from Network Rail is looking this far down ;)
Updated on September 17, 2022Comments
-
Kev almost 2 years
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?