Web Interface Watcher Monitor Type

Microsoft.OperationsManager.WebInterfaceWatcher.MonitorType (UnitMonitorType)

This monitor type detects the website state by check the http response code, if fail a property bag is returned with error detail message that will be used in the alert message by the monitor.

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.Scheduler Default
Probe ProbeAction Microsoft.SystemCenter.WebInterfaceWatcher.Probe Default
CD1 ConditionDetection System.Performance.ConsecutiveSamplesCondition Default
CDCritical ConditionDetection System.ExpressionFilter Default
CDHealthy ConditionDetection System.ExpressionFilter Default
CDSufficientSamples ConditionDetection System.ExpressionFilter Default
Mapper ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
UrlToCheckstring$Config/UrlToCheck$Url To Check
IntervalSecondsint$Config/IntervalSeconds$Interval (seconds)
TimeoutSecondsint$Config/TimeoutSeconds$Timeout (seconds)
SyncTimestring$Config/SyncTime$Sync time
DebugFlagbool$Config/DebugFlag$Debug Flag
Thresholddouble$Config/Threshold$Samples Number
SetProxyDirectbool$Config/SetProxyDirect$Set Proxy DirectSet Proxy Direct : true option can be used to specify that all HTTP and HTTPS servers should be accessed directly.

Source Code:

<UnitMonitorType ID="Microsoft.OperationsManager.WebInterfaceWatcher.MonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="Healthy" NoDetection="false"/>
<MonitorTypeState ID="Critical" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="ComputerName" type="xsd:string"/>
<xsd:element name="UrlToCheck" type="xsd:string"/>
<xsd:element name="IntervalSeconds" type="xsd:integer"/>
<xsd:element name="TimeoutSeconds" type="xsd:integer"/>
<xsd:element name="SyncTime" type="xsd:string"/>
<xsd:element name="DebugFlag" type="xsd:boolean"/>
<xsd:element minOccurs="1" name="Threshold" type="xsd:double"/>
<xsd:element minOccurs="1" name="SetProxyDirect" type="xsd:boolean"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="UrlToCheck" Selector="$Config/UrlToCheck$" ParameterType="string"/>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
<OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string"/>
<OverrideableParameter ID="DebugFlag" Selector="$Config/DebugFlag$" ParameterType="bool"/>
<OverrideableParameter ID="Threshold" Selector="$Config/Threshold$" ParameterType="double"/>
<OverrideableParameter ID="SetProxyDirect" Selector="$Config/SetProxyDirect$" ParameterType="bool"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="System!System.Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval>$Config/IntervalSeconds$</Interval>
<SyncTime>$Config/SyncTime$</SyncTime>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
<ProbeAction ID="Probe" TypeID="Microsoft.SystemCenter.WebInterfaceWatcher.Probe">
<ComputerName>$Config/ComputerName$</ComputerName>
<UrlToCheck>$Config/UrlToCheck$</UrlToCheck>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<DebugFlag>$Config/DebugFlag$</DebugFlag>
<SetProxyDirect>$Config/SetProxyDirect$</SetProxyDirect>
</ProbeAction>
<ConditionDetection ID="CDHealthy" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">
Property[@Name='State']
</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Double">1</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="CDCritical" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">
Property[@Name='State']
</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Double">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="Mapper" TypeID="Performance!System.Performance.DataGenericMapper">
<ObjectName>WebInterface</ObjectName>
<CounterName>ServiceState</CounterName>
<InstanceName>$Config/UrlToCheck$</InstanceName>
<Value>1</Value>
</ConditionDetection>
<ConditionDetection ID="CD1" TypeID="Performance!System.Performance.ConsecutiveSamplesCondition">
<Threshold>1</Threshold>
<Direction>greaterequal</Direction>
</ConditionDetection>
<ConditionDetection ID="CDSufficientSamples" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/Threshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Healthy">
<Node ID="CDHealthy">
<Node ID="Probe">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Critical">
<Node ID="CDSufficientSamples">
<Node ID="CD1">
<Node ID="Mapper">
<Node ID="CDCritical">
<Node ID="Probe">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="Healthy">
<Node ID="CDHealthy">
<Node ID="Probe"/>
</Node>
</OnDemandDetection>
<OnDemandDetection MonitorTypeStateID="Critical">
<Node ID="CDCritical">
<Node ID="Probe"/>
</Node>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>