Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I have an infrastructure with some Web Servers (Windows 2003 and IIS) and a Database (SQL Server 2005) and, 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, IIS and SQL, CPU, RAM and Hard Disk".

Of couse I can add tracing to my 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, 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

migrated from Aug 25 '09 at 7:41

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

up vote 2 down vote accepted

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:

  • \ Applications Running
  • \ 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 - you can have it report on individual applications, or use the _total counter for all of them.

share|improve this answer

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 application like what filename is being executed.

share|improve this answer

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

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

Your Answer


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.