Share via


Microsoft.SystemCenter.WebApplication.UrlProbe

The Microsoft.SystemCenter.WebApplication.UrlProbe probe module connects to one or more URLs and returns Microsoft.SystemCenter.WebApplication.WebApplicationData. This data can then be used with other modules from the Microsoft.SystemCenter.WebApplication.Library to evaluate the health state of various aspects of the target web site.

Usage

The primary function of Microsoft.SystemCenter.WebApplication.UrlProbe is to send a request to one or more URLs and report on the results. The format of the request is a complex type, and is used with other modules to evaluate the health state of the target URL. Because large numbers of requests can be made with a single probe, and because the results of the request can contain a large amount of data, the probe itself carries out some evaluation of the request before producing the output. For example, instead of just providing the status code from the queried URL as output, the module compares the status code against a specified range, and provides a success or failure code as output. The module can also match the content of the HTML that is returned by the request, for example, matching the word “error” to determine if an error page was returned. This evaluation performed by the module removes the need for complex expression matching logic in your rule or monitor.

This module is often commonly triggered using Microsoft.SystemCenter.WebApplication.PerProbe.Scheduler.

The Microsoft.SystemCenter.WebApplication.UrlProbe module is commonly used with a number of condition detection modules which are intended to evaluate its output. The module evaluates different aspects of the health of the URL based on parameters defined in the request and returns appropriate output for each.

Some of those parameters evaluate directly to a health state. For these parameters, you would use three condition detection modules, each of which matches a specific integer output from the probe indicating a particular health state, as shown in the following table:

Condition Detection Module Matched value

Microsoft.SystemCenter.WebApplication.OKCriteriaMatch

1

Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch

2

Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch

3

Other parameters return a binary status. For those cases, two condition detection modules are used, each of which matches a Boolean type from the probe as shown in the following table:

Condition Detection Module Matched value

Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch

false

Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch

true

Finally, some raw values are returned, which you can either collect for analysis and reporting or use with expression filter condition detection modules.

Type Definition

<ProbeActionModuleType ID="Microsoft.SystemCenter.WebApplication.UrlProbe" Accessibility="Public" Batching="false" PassThrough="false">
   <Configuration>
      <IncludeSchemaTypes>
         <SchemaType>Microsoft.SystemCenter.WebApplication.WebModulesSchema</SchemaType>
      </IncludeSchemaTypes>
      <xsd:element name="Proxy" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="ProxyUserName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="ProxyPassword" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="ProxyAuthenticationScheme" type="AuthenticationSchemeType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="CredentialUserName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="CredentialPassword" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="AuthenticationScheme" type="AuthenticationSchemeType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="FollowRedirects" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="RetryCount" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="RequestTimeout" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="Requests" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <xsd:complexType>
            <xsd:sequence>
               <xsd:element name="Request" type="RequestType" minOccurs="0" maxOccurs="unbounded" />
            </xsd:sequence>
         </xsd:complexType>
      </xsd:element>
      <xsd:element name="TransactionResponseTimeWarningCriteria" type="RequestEvaluationNumericCriteriaType" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="TransactionResponseTimeErrorCriteria" type="RequestEvaluationNumericCriteriaType" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
      <xsd:element name="PerformanceCollectionFrequencyInCycles" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1" default="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
   </Configuration>
   <OverrideableParameters>
      <OverrideableParameter ID="Proxy" Selector="$Config/Proxy$" ParameterType="string" />
      <OverrideableParameter ID="ProxyUserName" Selector="$Config/ProxyUserName$" ParameterType="string" />
      <OverrideableParameter ID="ProxyPassword" Selector="$Config/ProxyPassword$" ParameterType="string" />
      <OverrideableParameter ID="ProxyAuthenticationScheme" Selector="$Config/ProxyAuthenticationScheme$" ParameterType="string" />
      <OverrideableParameter ID="CredentialUserName" Selector="$Config/CredentialUserName$" ParameterType="string" />
      <OverrideableParameter ID="CredentialPassword" Selector="$Config/CredentialPassword$" ParameterType="string" />
      <OverrideableParameter ID="AuthenticationScheme" Selector="$Config/AuthenticationScheme$" ParameterType="string" />
      <OverrideableParameter ID="FollowRedirects" Selector="$Config/FollowRedirects$" ParameterType="bool" />
      <OverrideableParameter ID="RetryCount" Selector="$Config/RetryCount$" ParameterType="int" />
      <OverrideableParameter ID="RequestTimeout" Selector="$Config/RequestTimeout$" ParameterType="int" />
   </OverrideableParameters>
   <ModuleImplementation Isolation="Any">
      <Native>
         <ClassID>92C599FD-6639-4A9F-90DA-E1350162A318</ClassID>
      </Native>
   </ModuleImplementation>
   <OutputType>Microsoft.SystemCenter.WebApplication.WebApplicationData</OutputType>
   <TriggerOnly>true</TriggerOnly>
</ProbeActionModuleType>

Parameters

The Microsoft.SystemCenter.WebApplication.UrlProbe module supports the configuration parameters described in the following table.

Parameter Type Overrideable Description

Proxy

String

True

Required parameter, but can be empty. Specifies the name of the proxy server if the agent requires one to access the URL.

ProxyUserName

String

True

Required parameter, but can be empty. Specifies the username to be used with the proxy server if the specified proxy server requires authentication.

ProxyPassword

String

True

Required parameter, but can be empty. Specifies the password to be used with the proxy server if the specified proxy server requires authentication.

ProxyAuthenticationScheme

AuthenticationSchemeType

True

Required parameter. Specifies the authentication scheme to be used with the proxy server, if the agent requires one to access the URL. Valid values are None, Basic, NTLM, Digest, and Negotiate.

CredentialUserName

String

True

Required parameter, but can be empty. Specifies the username to be used with the URL being queried.

CredientialPassword

String

True

Required parameter, but can be empty. Specifies the password to be used with the URL being queried.

AuthenticationScheme

AuthenticationSchemeType

True

Required parameter. Specifies the authentication scheme to be used with the URL being queried. Valid values are None, Basic, NTLM, Digest, and Negotiate.

FollowRedirects

Boolean

True

Required parameter. Specifies whether the query should follow URL redirects.

RetryCount

Integer

True

Required parameter. Specifies the number of times the module should retry the specified URL before timing out.

RequestTimeout

Integer

True

Required parameter. Specifies the length of time to wait for a response from the specified URL before retrying.

Requests

Complex Type

False

Collection of Request elements (see below).

TransactionResponseTimeWarningCriteria

RequestEvaluationNumericCriteriaType

False

Optional parameter. Specifies the response time at which to specify a warning.

TransactionResponseTimeErrorCriteria

RequestEvaluationNumericCriteriaType

False

Optional Parameter. Specifies the response time at which to specify an error.

PerformanceCollectionFrequencyInCycles

Integer

False

Optional Parameter. Specifies how many query intervals must be completed before each collection. If the value is 1, then the counters will be collected each time the browser session is run. If it is 2, then the counters will only be collected every second time the browser session is run, and so on.

Request Element

The Requests element is a collection of one or more Request elements. Each Request element has a RequestID subelement which uniquely identifies the request within that set of Requests. Requests are processed in order, according to their RequestID. The Request element consists of the following elements:

Element Type Description

RequestID

Integer

Because each probe can initiate multiple requests, the RequestID uniquely identifies each request and specifies the order that the requests will be processed.

URL

String

The URL to be queried.

Verb

VerbType

Indicates the verb to use with the URL request. Can take any of the following values: GET, HEAD, or POST.

Version

VersionType

Indicates the HTTP type for the request. Valid values are HTTP/1.0 and HTTP/1.1.

HttpHeaders

HttpHeadersType

HTTP headers for the request. The HttpHeadersType is a complex type consisting of 0 or more HttpHeader elements, which are of type NameValueType. The NameValueType, in turn consists of two required elements, Name and Value.

Body

String

The value will be empty if the VerbType is GET or HEAD. If the VerbType is POST. This is the body of the request submitted by the post.

CheckContentChange

Boolean

If true, provides additional content validation.

ContentHash

ContentHashType

Consists of a string of 36 characters, hexadecimal 8-4-4-4-12.

Depth

Integer

Specifies the number of levels of external links to collect. If the value is 0, only the links on the page itself are evaluated. If the value is 1, then the links on each target page are evaluated. If the value is 2, then the links on those target pages are evaluated, and so on.

ThinkTime

Integer

Amount of time to wait between the request and collection of the body.

CheckInternalLinks

Boolean

Enables collection of the status of each internal link and includes internal links in the evaluation of the monitor for the request. An internal link is a link that refers to a location on the same page.

CheckExternalLinks

Boolean

Enables collection of the status of each external link and includes external links in the evaluation of the monitor for the request. An external link is a link that refers to a location outside the current page.

CheckResources

Boolean

If true, the monitor returns the status of the resources for the page. Instead of measuring each individual resource, the total of all resources are evaluated. If false, the resource monitor is not functional for the request.

RequestEvaluationCriteria

RequestEvaluationCriteriaType

A complex type that evaluates the data returned by the request (see below).

FormsAuthCredentials

FormsAuthCredentialsType

Complex type that consists of CredentialName, UserName, and Password strings.

RequestEvaluationCriteria Element

The RequestEvaluationCriteria element provides the ability to evaluate the data returned by the request and determine the health of the URL. Each element is a complex type, which contains criteria that can be matched in one of three ways:

  • Numeric criteria. This is the most common and is used to evaluate a measurable value, such as a returned status code or response time.

  • Content match criteria. This is used to evaluate the content of the returned HTML to determine whether it contains a particular string of text.

  • Custom criteria. This is an expression that matches on a variety of different available parameters defined by the user.

Any number of numeric criteria or custom criteria can be used, but only one content match criterion is allowed. The RequestEvaluationCriteriaType consists of the following elements:

Element Type Description

StopProcessingIfWarningCriteriaIsMet

Boolean

If true, stops processing the request once the warning condition has been met.

StopProcessingIfErrorCriteriaIsMet

Boolean

If true, stops processing the request once the error condition has been met.

BasePageEvaluationCriteria

Complex type

Consists of two elements evaluating the base page, WarningCriteria and ErrorCriteria, both of type BasePageEvaluationCriteriaType.

BasePageEvaluationCriteriaType is used to evaluate the health status of the base page retrieved by the URL. Consists of zero or more NumericCriteriaExpressions of type RequestEvaluationNumericCriteriaType, zero or one ContentMatchCriteria of type RequestEvaluationStringCriteriaType, and zero or more CustomCriteria of type ExpressionType.

LinksEvaluationCriteria

Complex type

Consists of two elements evaluating the links on the page, WarningCriteria and ErrorCriteria, both of type ChildRequestsEvaluationCriteriaType.

ChildRequestsEvaluationCriteriaType consists of zero or more NumericCriteriaExpressions of type RequestEvaluationNumericCriteriaType, zero or one StatusCodeCriteria of type ListNumericRequestCriteriaType, and zero or more CustomCriteria of type ExpressionType.

ResourcesEvaluationCriteria

Complex type

Consists of two elements evaluating the resources on the page, WarningCriteria and ErrorCriteria, both of type ChildRequestsEvaluationCriteriaType.

ChildRequestsEvaluationCriteriaType consists of zero or more NumericCriteriaExpressions of type RequestEvaluationNumericCriteriaType, zero or one StatusCodeCriteria of type ListNumericRequestCriteriaType, and zero or one CustomCriteria of type ExpressionType.

WebPageTotalEvaluationCritieria

Complex type

Consists of two elements, WarningCriteria and ErrorCriteria, both of type WebPageTotalEvaluationCriteriaType (see below).

WebPageTotalEvaluationCriteriaType measures the total statistics for the page, including the base page, links, and resources, and is of type WebPageTotalEvaluationCriteriaType. WebPageTotalEvaluationCriteriaType consists only of zero or more instances of NumericCriteriaExpression, which is of RequestEvaluationNumericCriteriaType, described below.

DepthEvaluationCriteria

Complex type

Consists of two elements, WarningCriteria and ErrorCriteria, both of type DepthEvaluationCriteriaType.

DepthEvaluationCriteriaType consists of zero or one instances of ListNumericRequestCriteriaType, discussed below.

The most common type of evaluation is numeric, in which an item of returned data, such as a resolution time, is compared against a configured threshold. NumericCriteriaExpression is of type RequestEvaluationNumericCriteriaType, which has three elements: NumericRequestMetric, Operator, and Value.

NumericRequestMetric is of type NumericRequestMetricType, which is an enumeration that can consist one of a number of metrics. Each metric is associated with a specific evaluation criterion, as follows:

Criteria Metric

BasePageData

DNSResolutionTime

TCPConnectTime

TimeToFirstByte

TimeToLastByte

RedirectTime

DownloadTime

TotalResponseTime

ContentSize

StatusCode

DaysToExpiry

LinkData

AggregateDNSResolutionTime

AggregateTCPConnectTime

AggregateTimeToFirstByte

AggregateTimeToLastByte

AggregateRedirectTime

AggregateDownloadTime

AggregateTotalResponseTime

AggregateContentSize

ResourceData

AggregateDNSResolutionTime

AggregateTCPConnectTime

AggregateTimeToFirstByte

AggregateTimeToLastByte

AggregateRedirectTime

AggregateDownloadTime

AggregateTotalResponseTime

AggregateContentSize

TotalData

AggregateDNSResolutionTime

AggregateTCPConnectTime

AggregateTimeToFirstByte

AggregateTimeToLastByte

AggregateRedirectTime

AggregateDownloadTime

AggregateTotalResponseTime

AggregateContentSize

None

TransactionResponseTime

The Operator element is of type CriteriaCompareType, which consists of one of the following: Equal, NotEqual, Greater, Less, GreaterEqual, or LessEqual.

The Value element is of type double, and specifies the type of the value being compared.

If the returned data item you wish to evaluate is not numeric, such as a content evaluation, you will need to compare against a string. ContentMatchCriteria is of type RequestEvaluationStringCriteriaType, which has two subelements: Operator and Value. Operator can be one of two types:

  • SimpleStringOperator, which is of type CriteriaCompareType, which is an enumeration consisting of Equal, NotEqual, Greater, Less, or GreaterEqual.

  • RegExOperator, which is of type RegExCompareType, which is an enumeration type consisting of ContainsSubstring, MatchesWildcard, MatchesRegularExpression, MatchesMOM2005RegularExpression, MatchesMOM2005BooleanRegularExpression, DoesNotContainSubstring, DoesNotMatchWildcard, DoesNotMatchRegularEspression, DoesNotMatchMOM2005RegularExpression, or DoesNotMatchMOM2005BooleanRegularExpression

The other element of RequestEvaluationStringCriteriaType is Value, which is a string to be compared.

The CustomCriteria element is of type ExpressionType.

The StatusCodeCriteria element found in LinksEvaluationCriteria and ResourcesEvaluationCriteria is of type ListNumericRequestCriteriaType. ListNumericRequestCriteriaType consists of a sequence of three elements: ListNumericRequestMetric, which can only be the string “StatusCode”, Operator, which is of CriteriaCompareType, covered earlier, and a Value, which must be of type double.

The key to creating a useful URL probe is in the Request element, and usually in the NumericRequestMetric. If you know what part of the web page you’re trying to evaluate, you can choose the correct metric from the enumeration. However, be sure to select the correct category of metric. The metrics for link data, resource data, and total data are all aggregates, and are available for all three categories, so be sure to specify the correct category and ask for it in the correct part of the Request element.

If you only want to evaluate the status code for a particular part of the page (base page, links), use the StatusCodeCriteria element, which would look like this:

<StatusCodeCriteria>
  <ListNumericRequestMetric>StatusCode</ListNumericRequestMetric>
  <Operator>GreaterEqual</Operator>
  <Value>400</Value>
</StatusCodeCriteria>

This StatusCodeCriteria section checks for a success response from the probe (Status code greater than or equal to 400).

Composition

The Microsoft.SystemCenter.WebApplication.UrlProbe module is a native module.

Module Type Usage

Microsoft.SystemCenter.WebApplication.OKCriteriaMatch

Condition detection module used to evaluate when the data source module returns a value of 1 (OK).

Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch

Condition detection module used to evaluate when the data source module returns a value of 1 (Warning).

Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch

Condition detection module used to evaluate when the data source module returns a value of 1 (Error).

Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch

Condition detection module used to evaluate when the data source module returns a value of false.

Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch

Condition detection module used to evaluate when the data source module returns a value of true.

External Module References

Module Type Usage

Microsoft.SystemCenter.WebApplication.SingleUrlProbe

Tests a single URL to determine if the status code is anything other than 200.

Sample

The following example carries out a simple URL probe against the URL https://www.microsoft.com. The data source evaluates the status code returned for the base page, and returns a value of 3 if the status code is greater than 400, indicating an error state. It also evaluates the status code returned for the resources, and links, and returns a value of 2 if the status code is greater than 400, indicating a warning state.

  <TypeDefinitions>
    <ModuleTypes>
      <DataSourceModuleType ID="MPAuthor.WebApplications.UrlDataSource" Accessibility="Public" Batching="false">
        <Configuration />
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="Scheduler" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.PerProbe.Scheduler">
                <Scheduler>
                  <SimpleReccuringSchedule>
                    <Interval Unit="Seconds">120</Interval>
                    <SpreadInitializationOverInterval Unit="Seconds">120</SpreadInitializationOverInterval>
                  </SimpleReccuringSchedule>
                  <ExcludeDates />
                </Scheduler>
                <UniquenessKey>$Target/Id$</UniquenessKey>
              </DataSource>
              <ProbeAction ID="Probe" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.UrlProbe">
                <Proxy />
                <ProxyUserName />
                <ProxyPassword />
                <ProxyAuthenticationScheme>None</ProxyAuthenticationScheme>
                <CredentialUserName />
                <CredentialPassword />
                <AuthenticationScheme>None</AuthenticationScheme>
                <FollowRedirects>true</FollowRedirects>
                <RetryCount>0</RetryCount>
                <RequestTimeout>0</RequestTimeout>
                <Requests>
                  <Request>
                    <RequestID>1</RequestID>
                    <URL>https://www.microsoft.com</URL>
                    <Verb>GET</Verb>
                    <Version>HTTP/1.1</Version>
                    <HttpHeaders>
                      <HttpHeader>
                        <Name>User-Agent</Name>
                        <Value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</Value>
                      </HttpHeader>
                    </HttpHeaders>
                    <Body />
                    <CheckContentChange>false</CheckContentChange>
                    <ContentHash>00000000-0000-0000-0000-000000000000</ContentHash>
                    <Depth>0</Depth>
                    <ThinkTime>0</ThinkTime>
                    <CheckInternalLinks>false</CheckInternalLinks>
                    <CheckExternalLinks>false</CheckExternalLinks>
                    <CheckResources>false</CheckResources>
                    <RequestEvaluationCriteria>
                      <StopProcessingIfWarningCriteriaIsMet>false</StopProcessingIfWarningCriteriaIsMet>
                      <StopProcessingIfErrorCriteriaIsMet>false</StopProcessingIfErrorCriteriaIsMet>
                      <BasePageEvaluationCriteria>
                        <WarningCriteria />
                        <ErrorCriteria>
                          <NumericCriteriaExpressions>
                            <NumericCriteriaExpression>
                              <NumericRequestMetric>BasePageData/StatusCode</NumericRequestMetric>
                              <Operator>GreaterEqual</Operator>
                              <Value>400</Value>
                            </NumericCriteriaExpression>
                          </NumericCriteriaExpressions>
                        </ErrorCriteria>
                      </BasePageEvaluationCriteria>
                      <LinksEvaluationCriteria>
                        <WarningCriteria>
                          <StatusCodeCriteria>
                            <ListNumericRequestMetric>StatusCode</ListNumericRequestMetric>
                            <Operator>GreaterEqual</Operator>
                            <Value>400</Value>
                          </StatusCodeCriteria>
                        </WarningCriteria>
                        <ErrorCriteria />
                      </LinksEvaluationCriteria>
                      <ResourcesEvaluationCriteria>
                        <WarningCriteria>
                          <StatusCodeCriteria>
                            <ListNumericRequestMetric>StatusCode</ListNumericRequestMetric>
                            <Operator>GreaterEqual</Operator>
                            <Value>400</Value>
                          </StatusCodeCriteria>
                        </WarningCriteria>
                        <ErrorCriteria />
                      </ResourcesEvaluationCriteria>
                      <WebPageTotalEvaluationCriteria>
                        <WarningCriteria />
                        <ErrorCriteria />
                      </WebPageTotalEvaluationCriteria>
                      <DepthEvaluationCriteria>
                        <WarningCriteria />
                        <ErrorCriteria />
                      </DepthEvaluationCriteria>
                    </RequestEvaluationCriteria>
                    <FormsAuthCredentials />
                    <CollectResponseBody>OnContentMatchCriteria</CollectResponseBody>
                    <CollectLinksHeaders>false</CollectLinksHeaders>
                    <CollectResourcesHeaders>false</CollectResourcesHeaders>
                  </Request>
                </Requests>
              </ProbeAction>
            </MemberModules>
            <Composition>
              <Node ID="Probe">
                <Node ID="Scheduler" />
              </Node>
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.WebApplicationData</OutputType>
      </DataSourceModuleType>
    </ModuleTypes>
    <MonitorTypes>
      <UnitMonitorType ID="MPAuthor.WebApplications.BasePageErrorCodeMonitor" Accessibility="Internal">
        <MonitorTypeStates>
          <MonitorTypeState ID="ErrorCodeFailure" NoDetection="false" />
          <MonitorTypeState ID="ErrorCodeSuccess" NoDetection="false" />
        </MonitorTypeStates>
        <Configuration>
          <xsd:element minOccurs="1" name="RequestID" type="xsd:integer" />
        </Configuration>
        <MonitorImplementation>
          <MemberModules>
            <DataSource ID="DS1" TypeID="MPAuthor.WebApplications.UrlDataSource" />
            <ConditionDetection ID="CDErrorCodeFailureTrue" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/ErrorCode</XPathQuery>
                  </ValueExpression>
                  <Operator>NotEqual</Operator>
                  <ValueExpression>
                    <XPathQuery>0</XPathQuery>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
            <ConditionDetection ID="CDErrorCodeFailureFalse" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/ErrorCode</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <XPathQuery>0</XPathQuery>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
          </MemberModules>
          <RegularDetections>
            <RegularDetection MonitorTypeStateID="ErrorCodeFailure">
              <Node ID="CDErrorCodeFailureTrue">
                <Node ID="DS1" />
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="ErrorCodeSuccess">
              <Node ID="CDErrorCodeFailureFalse">
                <Node ID="DS1" />
              </Node>
            </RegularDetection>
          </RegularDetections>
        </MonitorImplementation>
      </UnitMonitorType>
    </MonitorTypes>
  </TypeDefinitions>

Information

   

Module Type

ProbeActionModuleType

Input Type

None

Output Type

Microsoft.SystemCenter.WebApplication.WebApplicationData

Implementation

Native

Library

Microsoft.SystemCenter.WebApplication.Library