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.
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.
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.
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:
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.
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.