We monitor Min/Max/Average CPU load of our SQL servers. This graph shows a red average load line, a trend and also bars that show what I presume to be the range of utilization during that time period. My question, is there a way to find out what caused the Max of those bars?
You might want to have a look at SAM - http://www.solarwinds.com/server-application-monitor.aspx
NPM alone does not monitor services, and will not have insight to the services that are causing CPU utilization at that point of time. Coupled with SAM, it will be a different story altogether.