upsAdvOutputLoad

UIGeneratedMonitoradeb4998e09f470e986e1d8c50d4ac0b (UnitMonitor)

Date: 2012-03-21
Author: Justin Bennett

Description: SCOM Monitor that polls APC UPS Units using Ralph Burri's custom snmp provider library. Returns error and alert if not in normal status. The OID's for the APC UPS units where looked up from SolarWinds.

References:
http://rburri.wordpress.com/2008/04/29/snmp-discovery-provider-for-opsmgr-2007/
http://support.ipmonitor.com/mibs/POWERNET-MIB/info.aspx

Element properties:

TargetCustom.JB.APC.Management.Pack.SNMPDevice
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeSystem.SnmpProbe.2SingleEvent2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
UPS Output Load
Unit Attributes:
Location : {0}
Model : {1}
Name : {2}
Serial Number : {3}
Date of Manuf. : {4}
Batt. Last Repl. : {5}
Batt. Packs : {6}

Monitor Name
APC UPS :: Output Load

Monitor Type
SNMP - QA Monitor

SNMP Object Type
upsAdvOutputLoad

OID
1.3.6.1.4.1.318.1.1.1.4.2.3.0

Returns
The status of the UPS Output Load: {7}

Monitoring Condition

Pass if less than 70
The current UPS load expressed in percent of rated capacity.
RunAsDefault

Source Code:

<UnitMonitor ID="UIGeneratedMonitoradeb4998e09f470e986e1d8c50d4ac0b" Accessibility="Public" Enabled="true" Target="Custom.JB.APC.Management.Pack.SNMPDevice" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Snmp!System.SnmpProbe.2SingleEvent2StateMonitorType" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="UIGeneratedMonitoradeb4998e09f470e986e1d8c50d4ac0b_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Custom.JB.APC.Management.Pack.SNMPDevice"]/UPSLocation$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Custom.JB.APC.Management.Pack.SNMPDevice"]/Model$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="Custom.JB.APC.Management.Pack.SNMPDevice"]/UPSName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Custom.JB.APC.Management.Pack.SNMPDevice"]/SerialNumber$</AlertParameter4>
<AlertParameter5>$Target/Property[Type="Custom.JB.APC.Management.Pack.SNMPDevice"]/DateOfManufacture$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="Custom.JB.APC.Management.Pack.SNMPDevice"]/BatteryLastReplaceDate$</AlertParameter6>
<AlertParameter7>$Target/Property[Type="Custom.JB.APC.Management.Pack.SNMPDevice"]/BatteryNumOfBattPacks$</AlertParameter7>
<AlertParameter8>$Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$</AlertParameter8>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId7ab5c74b12ca4c1685e2c94189fa1a46" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateIde30165de69ec40edbe4a6401db4b221f" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<FirstInterval>120</FirstInterval>
<FirstIsWriteAction>false</FirstIsWriteAction>
<FirstIP>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</FirstIP>
<FirstCommunityString>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</FirstCommunityString>
<FirstVersion>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/Version$</FirstVersion>
<FirstSnmpVarBinds>
<SnmpVarBind>
<OID>1.3.6.1.4.1.318.1.1.1.4.2.3.0</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
</FirstSnmpVarBinds>
<FirstExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">70</Value>
</ValueExpression>
</SimpleExpression>
</FirstExpression>
<SecondInterval>120</SecondInterval>
<SecondIsWriteAction>false</SecondIsWriteAction>
<SecondIP>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</SecondIP>
<SecondCommunityString>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</SecondCommunityString>
<SecondVersion>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/Version$</SecondVersion>
<SecondSnmpVarBinds>
<SnmpVarBind>
<OID>1.3.6.1.4.1.318.1.1.1.4.2.3.0</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
</SecondSnmpVarBinds>
<SecondExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">70</Value>
</ValueExpression>
</SimpleExpression>
</SecondExpression>
</Configuration>
</UnitMonitor>