ISXC Device State Health Monitor

com.apcc.ISXC.DeviceStateHealthMonitor (UnitMonitor)

Knowledge Base article:

Device State Health Monitor Information

This monitor polls the ISX Central for the device's state. This is a simple attribute of the device element that can be in any number of states such as ERROR, CRITICAL, WARNING, OK, etc. The ISX Central determines a device's state by polling the device itself. This monitor maps these states into one of 3 states in Operations Manager: Healthy, Warning, and Critical.

Important Notes

This monitor indicates when the state for a device changes to a new state whose criticality is different than its previous state. This monitor does not track every individual change in the device state. For instance, if a device is OK, this monitor will be Healthy. If the device transitions to CRITICAL, this monitor will transition to Critical. If the device then transitions to ERROR, this monitor will not undergo another state transition, as the new state (ERROR) is the same criticality as the old state (CRITICAL). Please make note of this behavior. This monitor is a mapped indicator of the state of the device, but does not experience every state transitions a device might.

This monitor may be overridden by way of the UpgradeWarning/Downgrade Critical options to force any Warning states to be treated as Critical and/or any Critical states to be treated as Warning, respectively.

This monitor is driven by a data source that attempts to assemble the state for all devices connected to a given ISX Central. Be careful when overriding the Interval, Timeout, and Sync Time parameters, as those will cause the underlying data source to be run multiple times with different configurations, but each run will attempt to assemble the state of all devices on the ISX Central. See the MP guide for more information on the ramifications of overriding these parameters.

Recommended Actions

Since each device is capable of examining many factors in determining its own state, the best course of action is to examine the events that have been collected from this device. You may either use the event view for this device or connect to this device directly to investigate its state further. A device's state might also be a roll-up of the state of sensors connected to it. You can examine the state of a device's sensors by clicking on the sensor cell of the device in the Device State View.

This is a stateful monitor. Do not close alerts from this monitor or the availability statistics reported through Operations Manager will be skewed.

Element properties:

Targetcom.apcc.ISXC.ISXCDevice
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor Typecom.apcc.ISXC.DeviceStateHealthMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
ISXC Device State Not Healthy
Device State for "{4}" is {0}. The device state at the time of this transition was {1}. Device type is "{5}" model "{6}", reporting through ISX Central "{2}". Device Element ID: {3}.
RunAsDefault

Source Code:

<UnitMonitor ID="com.apcc.ISXC.DeviceStateHealthMonitor" Accessibility="Public" Enabled="true" Target="com.apcc.ISXC.ISXCDevice" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="com.apcc.ISXC.DeviceStateHealthMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="com.apcc.ISXC.DeviceStateHealthMonitorAlert">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/DataItem/Property[@Name="State"]$</AlertParameter1>
<AlertParameter2>$Data/Context/DataItem/Property[@Name="ISXCDeviceState"]$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="com.apcc.ISXC.ISXCDevice"]/ISXCEndpoint$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="com.apcc.ISXC.ISXCDevice"]/ISXCElementID$</AlertParameter4>
<AlertParameter5>$Target/Property[Type="com.apcc.ISXC.ISXCDevice"]/ISXCNamedElementName$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="com.apcc.ISXC.ISXCDevice"]/ISXCDeviceType$</AlertParameter6>
<AlertParameter7>$Target/Property[Type="com.apcc.ISXC.ISXCDevice"]/ISXCDeviceModelName$</AlertParameter7>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="DeviceIsCritical" MonitorTypeStateID="StateIsCritical" HealthState="Error"/>
<OperationalState ID="DeviceIsWarning" MonitorTypeStateID="StateIsWarning" HealthState="Warning"/>
<OperationalState ID="DeviceIsHealthy" MonitorTypeStateID="StateIsHealthy" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>900</TimeoutSeconds>
<ISXCEndpoint>$Target/Property[Type="com.apcc.ISXC.ISXCDevice"]/ISXCEndpoint$</ISXCEndpoint>
<ISXCElementID>$Target/Property[Type="com.apcc.ISXC.ISXCDevice"]/ISXCElementID$</ISXCElementID>
<UpgradeWarning>false</UpgradeWarning>
<DowngradeCritical>false</DowngradeCritical>
</Configuration>
</UnitMonitor>