Unit Monitor for generating an event when the required version of Dell EqualLogic Helper is not installed

Dell.Storage.EqualLogicHelper.PollBasedMonitor (UnitMonitor)

Knowledge Base article:

Summary

Unit monitor for generating an alert event when the required version of Dell EqualLogic Helper is not installed.

Resolutions

Dell EqualLogic Helper 6.0 may not be installed or needs to be updated. Install or upgrade the Dell EqualLogic Management Pack Suite on the Management Server.

Element properties:

TargetDell.Storage.EqualLogicHelperUtility
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.TimedScript.TwoStateMonitorType
RemotableTrue
AccessibilityInternal
Alert Message
Dell FMP : Dell EqualLogic Helper 6.0 may not be installed or needs to be updated
Dell EqualLogic Helper 6.0 may not be installed or needs to be updated. Install or upgrade the Dell EqualLogic Management Pack Suite on the Management Server.
RunAsDefault

Source Code:

<UnitMonitor ID="Dell.Storage.EqualLogicHelper.PollBasedMonitor" Accessibility="Internal" Enabled="onEssentialMonitoring" Target="DAD!Dell.Storage.EqualLogicHelperUtility" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.TimedScript.TwoStateMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Dell.Storage.EqualLogicHelper.PollBasedMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Warning" MonitorTypeStateID="Error" HealthState="Warning"/>
<OperationalState ID="Ok" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<ScriptName>HelperutilityChecker.vbs</ScriptName>
<Arguments/>
<ScriptBody><Script>
' Name: HelperutilityChecker.vbs
' Description: Creates property bag based on the DLL Helper presence

On Error Resume Next
SetLocale("en-us")

Dim oAPI, dml, Message, oBag
Const KEY_32_EQUALLOGIC_DLL_VERSION = "HKEY_LOCAL_MACHINE\SOFTWARE\Dell\Dell EqualLogic Storage Management Pack Suite\CurrentVersion"
Const KEY_64_EQUALLOGIC_DLL_VERSION = "HKEY_LOCAL_MACHINE\SOFTWARE\Dell\Dell EqualLogic Storage Management Pack Suite\CurrentVersion"
Const EQUALLOGIC_MIN_VERSION = "6.0"

Set oShell = CreateObject ("WScript.Shell")
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

Set dml = CreateObject("DellServerHelper.DellDeviceLib")

if Err.number &lt;&gt; 0 then
Call oBag.AddValue("Status","Warning")
Else
'Get The Version Number from the registry
sVersion = oShell.RegRead(KEY_32_EQUALLOGIC_DLL_VERSION)
if sVersion="" Then
sVersion = oShell.RegRead(KEY_64_EQUALLOGIC_DLL_VERSION)
end if

if sVersion &lt; EQUALLOGIC_MIN_VERSION Then
Call oBag.AddValue("Status","Warning")
else
Call oBag.AddValue("Status","Normal")
end if
End If
Call oAPI.Return(oBag)

set dml = nothing
set oBag = nothing
set oAPI = nothing
set oShell = nothing
</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Warning</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Normal</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>