EVA Controller Processor

EVA.Controller.Processor (Rule)

Knowledge Base article:

Summary

CPU %

Configuration

This counter presents the percentage of time that the CPU on the EVA controller is not idle. A completely idle controller shows 0%, while one that is saturated shows a value of 100%.

Element properties:

TargetEVAPerformanceMonitor
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.PerformanceProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="EVA.Controller.Processor" Enabled="true" Target="EVAPerformanceMonitor" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="MicrosoftWindowsLibrary6062780!Microsoft.Windows.TimedScript.PerformanceProvider">
<IntervalSeconds>60</IntervalSeconds>
<SyncTime>00:00</SyncTime>
<ScriptName>EVAPerf_processor.vbs</ScriptName>
<Arguments/>
<ScriptBody><Script><![CDATA[' Extract controller CPU performance %
'
' Time,CPU %,Data %,Ctlr,Serial,Node
'
SetLocale("en-us")

Wscript.Sleep 15000

linenumber=0
FileName = "C:\temp\EVAPERF_cs.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
Set oAPI = CreateObject("MOM.ScriptAPI")
Const ForReading = 1

If fso.FileExists(FileName) = 0 Then
wscript.echo "File not found."
wscript.quit
End If

Set oFile = fso.GetFile(FileName)

Set oStream = oFile.OpenAsTextStream(ForReading, TristateUseDefault)

Do While Not oStream.AtEndOfStream
sRecord=oStream.ReadLine
if linenumber <> 0 and sRecord <> "" Then
tmp = split(sRecord,",")
value = tmp(1)
If value > 101 Then
value = 0
End If
name = tmp(5) & ":" & tmp(3)
' wscript.echo ":" & sRecord & ":"
' wscript.echo name & ":" & value
Set propertyBag = oAPI.CreatePropertyBag()
propertyBag.AddValue "Name", name
propertyBag.AddValue "Value", value
oAPI.AddItem(propertyBag)


End If
linenumber = linenumber+1
Loop
oStream.Close

oAPI.ReturnItems
]]></Script></ScriptBody>
<TimeoutSeconds>60</TimeoutSeconds>
<ObjectName>HP EVA Storage Controller</ObjectName>
<CounterName><![CDATA[% Processor]]></CounterName>
<InstanceName>$Data/Property[@Name='Name']$</InstanceName>
<Value>$Data/Property[@Name='Value']$</Value>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SystemCenter!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>