UNIX/Linux Heartbeat Monitor Type

Microsoft.Unix.WSMan.Heartbeat.MonitorType (UnitMonitorType)

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Unix.WSMan.TimedEnumerator Default
DisableMonitoring ProbeAction Microsoft.Unix.EnableInstanceMonitoringOverrideAction Default
EnableMonitoring ProbeAction Microsoft.Unix.EnableInstanceMonitoringOverrideAction Default
ErrorFilter ConditionDetection System.ExpressionFilter Default
RepeatEventCondition ConditionDetection System.ConsolidatorCondition Default
SuccessFilter ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Intervalint$Config/Interval$IntervalInterval in seconds that the Heartbeat Monitor runs.
SyncTimestring$Config/SyncTime$SyncTimeTime of day the Heartbeat Monitor syncs at.
MissedHeartbeatsint$Config/MissedHeartbeats$Missed HeartbeatsThe number of heartbeats that must fail before an alert is generated.
MissedWindowSecondsint$Config/MissedWindowSeconds$Missed Heartbeat Window (seconds)The window (in seconds) in which the Missed Heartbeat count must be reached in order to generate an alert. Must be greater than Missed Heartbeats * Interval.

Source Code:

<UnitMonitorType ID="Microsoft.Unix.WSMan.Heartbeat.MonitorType" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="Available"/>
<MonitorTypeState ID="NotAvailable"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="Interval" type="xsd:int"/>
<xsd:element name="SyncTime" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="MissedHeartbeats" type="xsd:integer" minOccurs="0" default="2"/>
<xsd:element name="MissedWindowSeconds" type="xsd:integer" minOccurs="0" default="630"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Interval" ParameterType="int" Selector="$Config/Interval$"/>
<OverrideableParameter ID="SyncTime" ParameterType="string" Selector="$Config/SyncTime$"/>
<OverrideableParameter ID="MissedHeartbeats" Selector="$Config/MissedHeartbeats$" ParameterType="int"/>
<OverrideableParameter ID="MissedWindowSeconds" Selector="$Config/MissedWindowSeconds$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.Unix.WSMan.TimedEnumerator">
<TargetSystem>$Target/Property[Type="Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_Agent?__cimnamespace=root/scx</Uri>
<Filter/>
<OutputErrorIfAny>true</OutputErrorIfAny>
<SplitItems>false</SplitItems>
<Interval>$Config/Interval$</Interval>
<SyncTime>$Config/SyncTime$</SyncTime>
</DataSource>
<ProbeAction ID="EnableMonitoring" TypeID="Microsoft.Unix.EnableInstanceMonitoringOverrideAction">
<ManagedEntityId>$Target/Id$</ManagedEntityId>
<Value>true</Value>
</ProbeAction>
<ProbeAction ID="DisableMonitoring" TypeID="Microsoft.Unix.EnableInstanceMonitoringOverrideAction">
<ManagedEntityId>$Target/Id$</ManagedEntityId>
<Value>false</Value>
</ProbeAction>
<ConditionDetection ID="RepeatEventCondition" TypeID="System!System.ConsolidatorCondition">
<Consolidator>
<ConsolidationProperties/>
<TimeControl>
<WithinTimeSchedule>
<Interval>$Config/MissedWindowSeconds$</Interval>
</WithinTimeSchedule>
</TimeControl>
<CountingCondition>
<Count>$Config/MissedHeartbeats$</Count>
<CountMode>OnNewItemTestOutputRestart_OnTimerRestart</CountMode>
</CountingCondition>
</Consolidator>
</ConditionDetection>
<ConditionDetection ID="ErrorFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<Exists>
<ValueExpression>
<XPathQuery Type="String">//ErrorCode</XPathQuery>
</ValueExpression>
</Exists>
</Expression>
</ConditionDetection>
<ConditionDetection ID="SuccessFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<Not>
<Expression>
<Exists>
<ValueExpression>
<XPathQuery Type="String">//ErrorCode</XPathQuery>
</ValueExpression>
</Exists>
</Expression>
</Not>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Available">
<Node ID="EnableMonitoring">
<Node ID="SuccessFilter">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="NotAvailable">
<Node ID="DisableMonitoring">
<Node ID="RepeatEventCondition">
<Node ID="ErrorFilter">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>