Simple Threshold Monitor

System.NetworkManagement.ThresholdMonitor (UnitMonitorType)

Consecutive samples unit monitor type

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
ProbeDS DataSource System.NetworkManagement.Host.ExtendedSnmpQueryProvider Default
OperationStatusError ConditionDetection System.NetworkManagement.ExpressionFilter Default
OperationStatusSuccess ConditionDetection System.NetworkManagement.ExpressionFilter Default
PerfMapper ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Intervalint$Config/Interval$IntervalThe number of seconds between monitor execution
NoOfRetriesint$Config/NoOfRetries$Number of RetriesThe number of times that the operation will retry if it times out
Timeoutint$Config/Timeout$TimeoutThe amount of time (in milliseconds) before an SNMP GET operation times out
Thresholdint$Config/Threshold$ThresholdThe threshold over which the performance value is measured
NumberOfSamplesint$Config/NumberOfSamples$Number of SamplesThe number of consecutive samples to be outside the threshold before changing health state

Source Code:

<UnitMonitorType ID="System.NetworkManagement.ThresholdMonitor" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="MTSThresholdSuccess" NoDetection="false"/>
<MonitorTypeState ID="MTSThresholdError" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element minOccurs="1" name="Interval" type="xsd:integer"/>
<xsd:element minOccurs="0" maxOccurs="1" name="NoOfRetries" type="xsd:unsignedInt"/>
<xsd:element minOccurs="0" maxOccurs="1" name="Timeout" type="xsd:unsignedInt"/>
<xsd:element minOccurs="1" name="OID" type="xsd:string"/>
<xsd:element minOccurs="1" name="Threshold" type="xsd:double"/>
<xsd:element minOccurs="1" name="NumberOfSamples" type="xsd:integer"/>
<xsd:element minOccurs="1" name="ObjectName" type="xsd:string"/>
<xsd:element minOccurs="1" name="CounterName" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int"/>
<OverrideableParameter ID="NoOfRetries" Selector="$Config/NoOfRetries$" ParameterType="int"/>
<OverrideableParameter ID="Timeout" Selector="$Config/Timeout$" ParameterType="int"/>
<OverrideableParameter ID="Threshold" Selector="$Config/Threshold$" ParameterType="int"/>
<OverrideableParameter ID="NumberOfSamples" Selector="$Config/NumberOfSamples$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="ProbeDS" TypeID="System.NetworkManagement.Host.ExtendedSnmpQueryProvider">
<Interval>$Config/Interval$</Interval>
<NoOfRetries>$Config/NoOfRetries$</NoOfRetries>
<Timeout>$Config/Timeout$</Timeout>
<SnmpVarBinds>
<SnmpVarBind>
<OID>$Config/OID$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
</SnmpVarBinds>
</DataSource>
<ConditionDetection ID="PerfMapper" TypeID="Performance!System.Performance.DataGenericMapper">
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<InstanceName/>
<Value>$Data/SnmpVarBinds/SnmpVarBind[OID="$Config/OID$"]/Value$</Value>
</ConditionDetection>
<ConditionDetection ID="OperationStatusError" TypeID="System.NetworkManagement.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/Threshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<SuppressionSettings>
<MatchCount>$Config/NumberOfSamples$</MatchCount>
<SampleCount>$Config/NumberOfSamples$</SampleCount>
</SuppressionSettings>
</ConditionDetection>
<ConditionDetection ID="OperationStatusSuccess" TypeID="System.NetworkManagement.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="Double">$Config/Threshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<SuppressionSettings>
<MatchCount>$Config/NumberOfSamples$</MatchCount>
<SampleCount>$Config/NumberOfSamples$</SampleCount>
</SuppressionSettings>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="MTSThresholdError">
<Node ID="OperationStatusError">
<Node ID="PerfMapper">
<Node ID="ProbeDS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="MTSThresholdSuccess">
<Node ID="OperationStatusSuccess">
<Node ID="PerfMapper">
<Node ID="ProbeDS"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>