Relative Threshold Range Monitor

System.NetworkManagement.ComputedRelativeThresholdRangeMonitorType (UnitMonitorType)

Network Device Health State Threshold Monitor

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
ProbeDS DataSource System.NetworkManagement.Host.ExtendedSnmpQueryProvider Default
ComputeHighThreshold ConditionDetection System.NetworkManagement.Computation Default
ComputeLowThreshold ConditionDetection System.NetworkManagement.Computation Default
ComputePerfValue ConditionDetection System.NetworkManagement.Computation Default
TestOutsideThreshold ConditionDetection System.NetworkManagement.ExpressionFilter Default
TestWithinThreshold ConditionDetection System.NetworkManagement.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Intervalint$Config/Interval$IntervalThe number of seconds between monitor execution
NoOfRetriesint$Config/NoOfRetries$Number of RetriesThe number of times the performance data request will retry if it times out
NumberOfSamplesint$Config/NumberOfSamples$Number of SamplesThe number of consecutive samples before the monitor will change health state
Timeoutint$Config/Timeout$TimeoutThe amount of time (in milliseconds) before the performance data request times out
RelativeThresholdint$Config/RelativeThreshold$Relative ThresholdThe relative percentage that the performance can be from the low or high threshold before an error is raised

Source Code:

<UnitMonitorType ID="System.NetworkManagement.ComputedRelativeThresholdRangeMonitorType" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="MTSThresholdSuccess" NoDetection="false"/>
<MonitorTypeState ID="MTSThresholdError" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System.ExpressionEvaluatorSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="Interval" type="xsd:integer"/>
<xsd:element minOccurs="0" maxOccurs="1" name="NoOfRetries" type="xsd:unsignedInt"/>
<xsd:element name="NumberOfSamples" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
<xsd:element minOccurs="0" maxOccurs="1" name="Timeout" type="xsd:unsignedInt"/>
<xsd:element minOccurs="1" name="SnmpVarBinds">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="SnmpVarBind">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="OID" type="xsd:string"/>
<xsd:element name="Syntax" type="xsd:integer"/>
<xsd:element name="Value">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="VariantType" type="xsd:integer" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="1" name="ComputedPerformanceValue" type="NumericValueExpressionType"/>
<xsd:element minOccurs="1" name="RelativeThreshold" type="xsd:integer"/>
<xsd:element minOccurs="1" name="HighThreshold" type="NumericValueExpressionType"/>
<xsd:element minOccurs="1" name="LowThreshold" type="NumericValueExpressionType"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int"/>
<OverrideableParameter ID="NoOfRetries" Selector="$Config/NoOfRetries$" ParameterType="int"/>
<OverrideableParameter ID="NumberOfSamples" Selector="$Config/NumberOfSamples$" ParameterType="int"/>
<OverrideableParameter ID="Timeout" Selector="$Config/Timeout$" ParameterType="int"/>
<OverrideableParameter ID="RelativeThreshold" Selector="$Config/RelativeThreshold$" 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>$Config/SnmpVarBinds$</SnmpVarBinds>
</DataSource>
<ConditionDetection ID="ComputePerfValue" TypeID="System.NetworkManagement.Computation">
<NumericValue>$Config/ComputedPerformanceValue$</NumericValue>
</ConditionDetection>
<ConditionDetection ID="ComputeLowThreshold" TypeID="System.NetworkManagement.Computation">
<NumericValue>
<Product>
<NumericValue>
<Summation>
<NumericValue>
<Value>1</Value>
</NumericValue>
<NumericValue>
<Division>
<NumericValue>
<Value>$Config/RelativeThreshold$</Value>
</NumericValue>
<NumericValue>
<Value>100</Value>
</NumericValue>
</Division>
</NumericValue>
</Summation>
</NumericValue>
<NumericValue>$Config/LowThreshold$</NumericValue>
</Product>
</NumericValue>
</ConditionDetection>
<ConditionDetection ID="ComputeHighThreshold" TypeID="System.NetworkManagement.Computation">
<NumericValue>
<Product>
<NumericValue>
<Subtraction>
<NumericValue>
<Value>1</Value>
</NumericValue>
<NumericValue>
<Division>
<NumericValue>
<Value>$Config/RelativeThreshold$</Value>
</NumericValue>
<NumericValue>
<Value>100</Value>
</NumericValue>
</Division>
</NumericValue>
</Subtraction>
</NumericValue>
<NumericValue>$Config/HighThreshold$</NumericValue>
</Product>
</NumericValue>
</ConditionDetection>
<ConditionDetection ID="TestWithinThreshold" TypeID="System.NetworkManagement.ExpressionFilter">
<Expression>
<Or>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<NumericValue>
<Value>0</Value>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Value</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<NumericValue>
<Value>0</Value>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Value</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
<SuppressionSettings>
<MatchCount>$Config/NumberOfSamples$</MatchCount>
<SampleCount>$Config/NumberOfSamples$</SampleCount>
</SuppressionSettings>
</ConditionDetection>
<ConditionDetection ID="TestOutsideThreshold" TypeID="System.NetworkManagement.ExpressionFilter">
<Expression>
<Or>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<NumericValue>
<Value>0</Value>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Value</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<NumericValue>
<Value>0</Value>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Context/DataItem/Value</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<XPathQuery Type="Double">Context/DataItem/Value</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</Or>
</Expression>
<SuppressionSettings>
<MatchCount>$Config/NumberOfSamples$</MatchCount>
<SampleCount>$Config/NumberOfSamples$</SampleCount>
</SuppressionSettings>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="MTSThresholdSuccess">
<Node ID="TestWithinThreshold">
<Node ID="ComputeLowThreshold">
<Node ID="ComputeHighThreshold">
<Node ID="ComputePerfValue">
<Node ID="ProbeDS"/>
</Node>
</Node>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="MTSThresholdError">
<Node ID="TestOutsideThreshold">
<Node ID="ComputeLowThreshold">
<Node ID="ComputeHighThreshold">
<Node ID="ComputePerfValue">
<Node ID="ProbeDS"/>
</Node>
</Node>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>