Possible bug with Microsoft.SystemCenter.HealthServi ce.SCOMpercentageCPUTimeMonitorCPU TimeCounterDataSource data source module
Hello,
Bug with
Agent processor utilization
I believe I have found a bug with the
Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitorCPUTimeCounterDataSource data source module (thereby affecting the
Agent processor utilization monitor &
Collect agent processor utilization performance collection rule) supplied in the
System Center Core Monitoring Management Pack.
Specifically, the monitor does not appear to work on the Windows Server 2003 platform as the associated script constantly returns 0 as the Average/Min/Max values associated with the agent’s processor
utilization.
Upon inspection of the script, I was able to isolate the problem to the following portion of the script that attempts to retrieve the
IDProcess property of the Win32_PerfFormattedData_PerfProc_Process WMI class in order to compare it to the list of Process IDs associated with OpsMgr:
…
For Each oProcess in objRefreshableItem.ObjectSet
If InStr(agentProcIDs, "|" & oProcess.IDProcess & "|") > 0 then
totalPercentProcessorTime = totalPercentProcessorTime + CDbl(oProcess.PercentProcessorTime)
If (RunAsDiagnostic = True) Then
procTime = CDbl(CDbl(oProcess.PercentProcessorTime)/procCount)
sampleCount = sampleCount + 1
totalCount = totalCount + procTime
' Check for min value
If procTime < min Then
min = procTime
End If
' Check for max value
If procTime > max Then
max = procTime
End If
End If
End If
Next
When I run a similar script (see below) that simply outputs the Process ID to the console, it returns “nulls” on the Win2K3 platform, whereas it returns valid
IDs on the Win2K8 platform. Based on the testing performed thus far, I am unable to return any integer (32-bit|64-bit) property (including HandleCount & PageFileBytes) from this class on the Win2K3 platform!?!
…
For Each oProcess in objRefreshableItem.ObjectSet
WScript.Echo oProcess.IDProcess
Next
Can anyone confirm this behavior before I submit a bug on Connect?
Simply observe if the Max Value field of the
Performance Top Objects report (under Microsoft Generic Report Library), targeted against the
Collect agent processor utilization collection rule, returns 0 for your Windows Server 2003 boxes.
Performance Improvement
In going over the script, I noticed that the algorithm used to identify OpsMgr-related Process IDs could be vastly improved upon with some minor changes, as I liken the current
process to a highly inefficient bubble-sort sorting algorithm.
I’ll try to see about taking some time to update the code for submission on Connect.
Thanks,
Larry
October 28th, 2010 3:04pm
Hi Larry,
Thanks for the investigation. There are many issues with WMI based scripts on W2K3 server. Since the issues don't happen on Sever 2008 and newer supported OS, the issue is considered fixed.
DanMicrosoft Corporation
Free Windows Admin Tool Kit Click here and download it now
October 29th, 2010 12:29pm
Hmm...
Dan, are you trying to say that W2K3 server isn't supported now and nobody will fix any issues with W2K3+OpsMgr? :)http://OpsMgr.ru/
October 29th, 2010 1:06pm
Hello Dan,
Please tell me you're kidding!
Larry
Free Windows Admin Tool Kit Click here and download it now
October 29th, 2010 2:26pm
Hello Dan,
Please tell me you're kidding! :(
Larry
October 29th, 2010 2:28pm
In the mean time do you recommend disabling that rule for all windows 2003 computers ?
Free Windows Admin Tool Kit Click here and download it now
October 29th, 2010 3:59pm