I found it quite difficult to monitor ASP.NET applications.
Besides the performance counters we did some custom classes doing following:
- pinging the app with webrequest
- monitoring the aspnet_wp.exe process itself using the proces info capturing process restarts, pages served, max RAM used
- connection string class appending pagename and user to OLEDB connection string to see who's using the database spids
- reading the machine event logs
- IIS logs analysis
- the usual 10-15 logs tracing/logging exceptions, user input, et al
What I'd like? (Hm, about time someone did a .NET wishlist !! )
-some control says if the numbers of performance counters are good or bad (perhasp something with green, yellow or red traffic lights)
- perhaps some minimal runtime profiling saying which parts are not so well behaved (I know, but testing never catches all scenarios)
Has anybody implemented some other interesting code?
UPDATE: Good article + tools
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/monitor_perf.asp