Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

If I have an infrastructure with some Web Servers (Windows 2003 and IIS) and a Database (SQL Server 2005) and ASP.net, I wonder if there is a catch-all tool that simply allows me to say "Ok, I now open this page and you tell me exactly what happens on ASP.net, IIS and SQL, CPU, RAM and Hard Disk".

Of couse I can add tracing to my ASP.net and then to my SQL Server and then I have to see how to deal with IIS (as images for example do not go through ASP.net), but I wonder if anyone has a way to get an overview of pretty much everything in a simple way? Preferably free, but as long as it's good it can also cost money.

share|improve this question
add comment

migrated from stackoverflow.com Aug 25 '09 at 7:41

This question came from our site for professional and enthusiast programmers.

4 Answers

up vote 2 down vote accepted
+200

Windows Performance Monitor is a pretty good bet. It will embed itself as an ActiveX control into a web page, so you can just open it up, and its counters can monitor pretty much every aspect of the server (just as long as it can be represented numerically).

You can monitor remote servers, as as long as the account it's running on has admin privileges over them.

The counters we generally run for visual reference are:

  • ASP.net \ Applications Running
  • ASP.net \ Requests Wait Time
  • Processor \ % Processor Time
  • PhysicalDisk \ Avg. Disk Queue Length
  • Memory \ Avaliable MBytes

There are a bunch of SQL based metrics (wait time, queries per second, avg query run time, etc) that I don't have handy on me right now but it's pretty flexible in its reporting. Same with ASP.net - you can have it report on individual applications, or use the _total counter for all of them.

share|improve this answer
add comment

Look at using SQL Server Profiler and Windows Server performance monitor traces together. SQL Server 2005 allows you to co-relate these two files together. This article describes how to do this well.
In addition to this, If you use the application name= parameter in your SQL Server connection string you can capture this in the Profiler trace & use this as a way of passing information from your asp.net/asp application like what filename is being executed.

share|improve this answer
add comment

You could try commercial tools like BMC AppSight, or if it's .Net based only, AVICode. If you're looking to do this on the cheap, a combination of IIS logs and Perfmon counters would cover your needs.

share|improve this answer
add comment

Hmm. I'm not familiar with one tool that will give you everything but you can accomplish this with a combination of tools.

You mentioned SQL Server, so SQL Profiler is something you should look at to monitor everything going on in your db.

For everything going over Http you should look into Fiddler.

CPU, RAM, and Hard Disk can be monitored via perfmon.exe (built into Windows) or Process Explorer.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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