I'm aware this type of question has been asked many times before:
- How to Monitor Bandwidth usage in real terms
- Network monitoring
- application monitoring tools
- Network Traffic Monitoring
- Reporting tool for Performance Monitor
- Monitor ram and CPU usage
But my question has a twist, I want to monitor a system and correlate CPU - IO stats with SQL Server usage stats, I want to be able to say that at 13:45 the query "select * from bar where baz = 'quux'", ran on SQL Server 1, used up to 80% CPU for 6 seconds with an IO load of 6 and an average disk queue of 15.
I can do this now with a combination of perfmon, SQL Profiler and some custom scripts to correlate the data. I want some tool to do this all for me now.
Do I expect too much? Is there a tool which does things like this?
The usually mentioned candidates are:
- http://www.zenoss.com/
- http://www.paessler.com/support/kb/prtg7/features_networkmonitoring
- http://www.zabbix.com/
- http://www.nagios.org/
- http://www.spiceworks.com/
- http://www.cacti.net/
But, as far as I can tell, none of those have everything I want. Or does some and I've missed it?
You're unhappy with the built in functionality profiler provides where you can combine perfmon data files?
The magic happens in Profiler with the File->Import Performance Data... option. What this means is you can click on your perform graph (where your CPU is spiking) and profiler will jump to the corresponding capture that was happening at that moment.
This was a new feature introduced in SQL Server 2005.
check this out