Freigeben über


Microsoft.SystemCenter.WebApplication.UrlProbe

Das Testmodul Microsoft.SystemCenter.WebApplication.UrlProbe stellt eine Verbindung mit mindestens einer URL her und gibt Microsoft.SystemCenter.WebApplication.WebApplicationData zurück. Diese Daten können dann mit anderen Modulen aus der Microsoft.SystemCenter.WebApplication.Library verwendet werden, um den Integritätszustand verschiedener Aspekte der Zielwebsite auszuwerten.

Verwendung

Die Hauptfunktion von Microsoft.SystemCenter.WebApplication.UrlProbe besteht darin, eine Anforderung an mindestens eine URL zu senden und die Ergebnisse zu melden. Das Format der Anforderung ist ein komplexer Typ und wird zusammen mit anderen Modulen verwendet, um den Integritätszustand der Ziel-URL auszuwerten. Da mit nur einem Test eine große Zahl von Anforderungen gesendet werden kann und die Ergebnisse der Anforderung eine große Datenmenge enthalten können, führt der Test selbst eine Auswertung der Anforderung durch, bevor die Ausgabe erstellt wird. Anstatt beispielsweise nur den Statuscode aus der abgefragten URL als Ausgabe bereitzustellen, vergleicht das Modul den Statuscode mit einem angegebenen Bereich und stellt einen Erfolgs- oder Fehlercode als Ausgabe bereit. Das Modul kann auch mit dem Inhalt des HTML-Codes übereinstimmen, der von der Anforderung zurückgegeben wird, z. B. mit dem Wortfehler übereinstimmen, um zu ermitteln, ob eine Fehlerseite zurückgegeben wurde. Diese Auswertung des Moduls bewirkt, dass die komplexe Logik zum Abgleichen von Ausdrücken in Ihrer Regel oder im Monitor nicht mehr benötigt wird.

Dieses Modul wird häufig per Microsoft.SystemCenter.WebApplication.PerProbe.Scheduler ausgelöst.

Das Modul Microsoft.SystemCenter.WebApplication.UrlProbe wird häufig mit einer Reihe von Bedingungserkennungsmodulen verwendet, die die Ausgabe auswerten sollen. Das Modul wertet verschiedene Aspekte der Integrität der URL basierend auf den in der Anforderung definierten Parametern aus und gibt die jeweils entsprechende Ausgabe zurück.

Einige dieser Parameter werden direkt in einen Integritätszustand ausgewertet. Für diese Parameter nutzen Sie drei Bedingungserkennungsmodule. Jedes Modul führt einen Abgleich für eine bestimmte Integerausgabe des Tests durch, um einen bestimmten Integritätszustand anzugeben. Dies ist in der folgenden Tabelle dargestellt:

Bedingungserkennungsmodul Übereinstimmender Wert
Microsoft.SystemCenter.WebApplication.OKCriteriaMatch 1
Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch 2
Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch 3

Andere Parameter geben einen binären Status zurück. Für diese Fälle werden zwei Bedingungserkennungsmodule verwendet, die jeweils einen Abgleich für einen booleschen Typ des Tests durchführen. Dies ist in der folgenden Tabelle dargestellt:

Bedingungserkennungsmodul Übereinstimmender Wert
Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch false
Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch true

Abschließend werden einige Rohwerte zurückgegeben, die Sie entweder zu Analyse- oder Berichterstellungszwecken erfassen oder mit Ausdrucksfilter-Bedingungserkennungsmodulen verwenden können.

Typdefinition

<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="IgnoreServerCertError" type="xsd:boolean"  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>
   <OverridableParameters>
      <OverridableParameter ID="Proxy" Selector="$Config/Proxy$" ParameterType="string" />
      <OverridableParameter ID="ProxyUserName" Selector="$Config/ProxyUserName$" ParameterType="string" />
      <OverridableParameter ID="ProxyPassword" Selector="$Config/ProxyPassword$" ParameterType="string" />
      <OverridableParameter ID="ProxyAuthenticationScheme" Selector="$Config/ProxyAuthenticationScheme$" ParameterType="string" />
      <OverridableParameter ID="CredentialUserName" Selector="$Config/CredentialUserName$" ParameterType="string" />
      <OverridableParameter ID="CredentialPassword" Selector="$Config/CredentialPassword$" ParameterType="string" />
      <OverridableParameter ID="AuthenticationScheme" Selector="$Config/AuthenticationScheme$" ParameterType="string" />
      <OverridableParameter ID="IgnoreServerCertError" Selector="$Config/IgnoreServerCertError$"  ParameterType="bool"/>
      <OverridableParameter ID="FollowRedirects" Selector="$Config/FollowRedirects$" ParameterType="bool" />
      <OverridableParameter ID="RetryCount" Selector="$Config/RetryCount$" ParameterType="int" />
      <OverridableParameter ID="RequestTimeout" Selector="$Config/RequestTimeout$" ParameterType="int" />
   </OverridableParameters>
   <ModuleImplementation Isolation="Any">
      <Native>
         <ClassID>92C599FD-6639-4A9F-90DA-E1350162A318</ClassID>
      </Native>
   </ModuleImplementation>
   <OutputType>Microsoft.SystemCenter.WebApplication.WebApplicationData</OutputType>
   <TriggerOnly>true</TriggerOnly>
</ProbeActionModuleType>

Parameter

Das Modul Microsoft.SystemCenter.WebApplication.UrlProbe unterstützt die Konfigurationsparameter, die in der folgenden Tabelle beschrieben sind.

Parameter Typ Overrides Beschreibung
Proxy String True Erforderlicher Parameter, kann aber leer sein. Gibt den Namen des Proxyservers an, wenn dieser vom Agent für den Zugriff auf die URL benötigt wird.
ProxyUserName String True Erforderlicher Parameter, kann aber leer sein. Gibt den Benutzernamen an, der mit dem Proxyserver verwendet wird, wenn für den angegebenen Proxyserver eine Authentifizierung erforderlich ist.
ProxyPassword String True Erforderlicher Parameter, kann aber leer sein. Gibt das Kennwort an, das mit dem Proxyserver verwendet wird, wenn für den angegebenen Proxyserver eine Authentifizierung erforderlich ist.
ProxyAuthenticationScheme AuthenticationSchemeType True Erforderlicher Parameter. Gibt das Authentifizierungsschema an, das mit dem Proxyserver verwendet wird, wenn es für den Agent für den Zugriff auf die URL benötigt wird. Gültige Werte sind None, Basic, NTLM, Digest und Negotiate.
CredentialUserName String True Erforderlicher Parameter, kann aber leer sein. Gibt den Benutzernamen an, der mit der abgefragten URL verwendet werden soll.
CredientialPassword String True Erforderlicher Parameter, kann aber leer sein. Gibt das Kennwort an, das mit der abgefragten URL verwendet werden soll.
AuthenticationScheme AuthenticationSchemeType True Erforderlicher Parameter. Gibt das Authentifizierungsschema an, das mit der abgefragten URL verwendet werden soll. Gültige Werte sind None, Basic, NTLM, Digest und Negotiate.
IgnoreServerCertError Boolean True Gibt an, ob die Serverzertifikatfehler ignoriert werden sollen.
FollowRedirects Boolean True Erforderlicher Parameter. Gibt an, ob für die Abfrage URL-Umleitungen zulässig sind.
RetryCount Integer True Erforderlicher Parameter. Gibt an, wie oft das Modul den Versuch zum Erreichen der angegebenen URL wiederholen soll, bevor ein Timeout eintritt.
RequestTimeout Integer True Erforderlicher Parameter. Gibt an, wie lange auf eine Antwort von der angegebenen URL gewartet werden soll, bevor ein neuer Versuch unternommen wird.
Anforderungen Komplexer Typ False Sammlung mit Request-Elementen (siehe unten).
TransactionResponseTimeWarningCriteria RequestEvaluationNumericCriteriaType False Dieser Parameter ist optional. Gibt die Antwortzeit an, nach der eine Warnung erfolgt.
TransactionResponseTimeErrorCriteria RequestEvaluationNumericCriteriaType False Optionaler Parameter. Gibt die Antwortzeit an, nach der ein Fehler erfolgt.
PerformanceCollectionFrequencyInCycles Integer False Optionaler Parameter. Gibt an, wie viele Abfrageintervalle vor jeder Erfassung abgeschlossen werden müssen. Wenn der Wert 1 lautet, werden die Zähler bei jeder Ausführung der Browsersitzung erfasst. Wenn es 2 ist, werden die Leistungsindikatoren nur bei jeder zweiten Ausführung der Browsersitzung erfasst usw.

Request-Element

Das Requests-Element umfasst eine Sammlung mit mindestens einem Request-Element. Jedes Request-Element verfügt über ein RequestID-Unterelement, mit dem die Anforderung im jeweiligen Requests-Satz eindeutig identifiziert wird. Anforderungen werden gemäß ihrer RequestID der Reihe nach verarbeitet. Das Request-Element besteht aus den folgenden Elementen:

Element Typ Beschreibung
RequestID Integer Da jeder Test mehrere Anforderungen initiieren kann, wird mit der RequestID jede Anforderung eindeutig identifiziert, und es wird die Reihenfolge angegeben, in der die Anforderungen verarbeitet werden.
URL String Die URL, die abgefragt werden soll.
Verb VerbType Gibt das Verb an, das mit der URL-Anforderung verwendet werden soll. Die folgenden Werte sind möglich: GET, HEAD oder POST.
Version VersionType Gibt den HTTP-Typ für die Anforderung an. Gültige Werte sind „HTTP/1.0“ und „HTTP/1.1“.
HttpHeaders HttpHeadersType HTTP-Header für die Anforderung. HttpHeadersType ist ein komplexer Typ mit 0 oder mehr HttpHeader-Elementen, die den Typ NameValueType aufweisen. NameValueType besteht wiederum aus den beiden erforderlichen Elementen Name und Value.
Text String Der Wert ist leer, wenn VerbType auf GET oder HEAD festgelegt ist. Wenn VerbType auf POST festgelegt ist. Dies ist der Textkörper der Anforderung, die per POST-Vorgang übermittelt wird.
CheckContentChange Boolean Bei „true“ wird eine zusätzliche Inhaltsprüfung durchgeführt.
ContentHash ContentHashType Besteht aus einer Zeichenfolge mit 36 Zeichen (hexadezimal 8-4-4-4-12).
Tiefe Integer Gibt die Anzahl von Ebenen externer Links an, die erfasst werden sollen. Wenn der Wert 0 ist, werden nur die Links auf der Seite selbst ausgewertet. Wenn der Wert 1 ist, werden die Links auf jeder Zielseite ausgewertet. Wenn der Wert 2 ist, werden die Links auf den entsprechenden Zielseiten ausgewertet (usw.).
ThinkTime Integer Gibt an, wie lange zwischen der Anforderung und Erfassung des Textkörpers gewartet werden soll.
CheckInternalLinks Boolean Ermöglicht die Erfassung des Status jedes internen Links und bindet interne Links in die Auswertung des Monitors für die Anforderung ein. Ein interner Link ist ein Link, der auf einen Ort auf derselben Seite verweist.
CheckExternalLinks Boolean Ermöglicht die Erfassung des Status jedes externen Links und bindet externe Links in die Auswertung des Monitors für die Anforderung ein. Ein externer Link ist ein Link, der auf einen Ort außerhalb der aktuellen Seite verweist.
CheckResources Boolean Bei „true“ gibt der Monitor den Status der Ressourcen für die Seite zurück. Anstatt jede einzelne Ressource zu messen, werden alle Ressourcen zusammen ausgewertet. Wenn false, ist der Ressourcenmonitor für die Anforderung nicht funktionsfähig.
RequestEvaluationCriteria RequestEvaluationCriteriaType Ein komplexer Typ, der die von der Anforderung zurückgegebenen Daten auswertet (siehe unten).
FormsAuthCredentials FormsAuthCredentialsType Komplexer Typ, der aus den Zeichenfolgen CredentialName, UserName und Password besteht.

RequestEvaluationCriteria-Element

Mit dem RequestEvaluationCriteria-Element können die von der Anforderung zurückgegebenen Daten ausgewertet werden, und die Integrität der URL kann bestimmt werden. Jedes Element ist ein komplexer Typ mit Kriterien, die auf drei Arten abgeglichen werden können:

  • Numerische Kriterien: Dies ist der häufigste Fall, der zum Auswerten eines messbaren Werts verwendet wird, z. B. ein zurückgegebener Statuscode oder eine Antwortzeit.
  • Kriterien zur Inhaltsübereinstimmung: Werden zum Auswerten des Inhalts des zurückgegebenen HTML-Codes verwendet, um zu ermitteln, ob darin eine bestimmte Zeichenfolge enthalten ist.
  • Benutzerdefinierte Kriterien: Dies ist ein Ausdruck, der mit vielen verschiedenen verfügbaren Parametern übereinstimmt, die vom Benutzer definiert werden.

Es kann eine beliebige Anzahl von numerischen Kriterien oder benutzerdefinierten Kriterien verwendet werden, aber es ist nur ein Kriterium für die Inhaltsübereinstimmung zulässig. RequestEvaluationCriteriaType besteht aus den folgenden Elementen:

Element Typ Beschreibung
StopProcessingIfWarningCriteriaIsMet Boolesch Bei „true“ wird die Verarbeitung der Anforderung angehalten, nachdem die Warnungsbedingung erfüllt wurde.
StopProcessingIfErrorCriteriaIsMet Boolesch Bei „true“ wird die Verarbeitung der Anforderung angehalten, nachdem die Fehlerbedingung erfüllt wurde.
BasePageEvaluationCriteria Komplexer Typ Besteht aus den zwei Elementen WarningCriteria und ErrorCriteria, mit denen die Basisseite ausgewertet wird und die beide den Typ BasePageEvaluationCriteriaType aufweisen.
LinksEvaluationCriteria Komplexer Typ Besteht aus den zwei Elementen WarningCriteria und ErrorCriteria, mit denen die Links auf der Seite ausgewertet werden und die beide den Typ ChildRequestsEvaluationCriteriaType aufweisen. ChildRequestsEvaluationCriteriaType besteht aus 0 oder mehr NumericCriteriaExpressions-Elementen vom Typ RequestEvaluationNumericCriteriaType, 0 oder einem StatusCodeCriteria-Element vom Typ ListNumericRequestCriteriaType und 0 oder mehr CustomCriteria-Elementen vom Typ ExpressionType.
ResourcesEvaluationCriteria Komplexer Typ Besteht aus den zwei Elementen WarningCriteria und ErrorCriteria, mit denen die Ressourcen auf der Seite ausgewertet werden und die beide den Typ ChildRequestsEvaluationCriteriaType aufweisen. ChildRequestsEvaluationCriteriaType besteht aus 0 oder mehr NumericCriteriaExpressions-Elementen vom Typ RequestEvaluationNumericCriteriaType, 0 oder einem StatusCodeCriteria-Element vom Typ ListNumericRequestCriteriaType und 0 oder ein CustomCriteria-Element vom Typ ExpressionType.
WebPageTotalEvaluationCritieria Komplexer Typ Besteht aus den zwei Elementen WarningCriteria und ErrorCriteria, die beiden den Typ WebPageTotalEvaluationCriteriaType aufweisen (siehe unten). Mit dem WebPageTotalEvaluationCriteriaType-Element wird die Gesamtstatistik für die Seite erfasst, z. B. die Basisseite, Links und Ressourcen, und es hat den Typ WebPageTotalEvaluationCriteriaType. WebPageTotalEvaluationCriteriaType besteht ausschließlich aus 0 oder mehr Instanzen von NumericCriteriaExpression mit dem Typ RequestEvaluationNumericCriteriaType, siehe Beschreibung unten.
DepthEvaluationCriteria Komplexer Typ Besteht aus den zwei Elementen: WarningCriteria und ErrorCriteria, die beide den Typ DepthEvaluationCriteriaType aufweisen. DepthEvaluationCriteriaType besteht aus 0 oder mehr Instanzen von ListNumericRequestCriteriaType, siehe Beschreibung unten.

Der häufigste Auswertungstyp ist „numerisch“, bei dem ein Element mit zurückgegebenen Daten, z. B. eine Auflösungszeit, mit einem konfigurierten Schwellenwert verglichen wird. NumericCriteriaExpression weist den Typ RequestEvaluationNumericCriteriaType auf, der über drei Elemente verfügt: NumericRequestMetric, Operator und Value.

NumericRequestMetric hat den Typ NumericRequestMetricType. Dies ist eine Enumeration, die aus verschiedenen Metriken bestehen kann. Jede Metrik ist wie folgt einem bestimmten Auswertungskriterium zugeordnet:

Kriterien Metrik
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
Keine TransactionResponseTime

Das Element Operator weist den Typ CriteriaCompareType auf, der aus einem der folgenden Elemente besteht: Equal, NotEqual, Greater, Less, GreaterEqual oder LessEqual.

Das Value-Element hat den Typ double und gibt den Typ des zu vergleichenden Werts an.

Wenn das zurückgegebene Datenelement, das Sie auswerten möchten, nicht numerisch ist, z. B. eine Inhaltsauswertung, müssen Sie den Vergleich mit einer Zeichenfolge durchführen. ContentMatchCriteria hat den Typ RequestEvaluationStringCriteriaType, der über zwei Unterelemente verfügt: Operator und Value. Operator kann einen von zwei Typen haben:

  • SimpleStringOperator vom Typ CriteriaCompareType, wobei es sich um eine Enumeration mit den Elementen Equal, NotEqual, Greater, Less oder GreaterEqual handelt.
  • RegExOperator vom Typ RegExCompareType, wobei es sich um einen Enumerationstyp mit den Elementen ContainsSubstring, MatchesWildcard, MatchesRegularExpression, MatchesMOM2005RegularExpression, MatchesMOM2005BooleanRegularExpression, DoesNotContainSubstring, DoesNotMatchWildcard, DoesNotMatchRegularEspression, DoesNotMatchMOM2005RegularExpression oder DoesNotMatchMOM2005BooleanRegularExpression handelt.

Das andere Element von RequestEvaluationStringCriteriaType ist Value, wobei es sich um eine zu vergleichende Zeichenfolge handelt.

Das CustomCriteria-Element hat den Typ ExpressionType.

Das StatusCodeCriteria-Element in LinksEvaluationCriteria und ResourcesEvaluationCriteria weist den Typ ListNumericRequestCriteriaType auf ListNumericRequestCriteriaType besteht aus einer Sequenz mit drei Elementen: das Element ListNumericRequestMetric, das nur die Zeichenfolge StatusCode sein kann, das Element Operator, das den Typ CriteriaCompareType aufweist (siehe oben) und das Element Value, das den double-Typ aufweisen muss.

Der Schlüssel zum Erstellen eines nützlichen URL-Tests sind das Request-Element und normalerweise NumericRequestMetric. Wenn Sie wissen, welchen Teil der Webseite Sie auswerten möchten, können Sie die richtige Metrik aus der Enumeration auswählen. Stellen Sie jedoch sicher, dass Sie die richtige Kategorie der Metrik auswählen. Die Metriken für Verknüpfungsdaten, Ressourcendaten und Gesamtdaten sind alle Aggregate und für alle drei Kategorien verfügbar. Stellen Sie daher sicher, dass Sie die richtige Kategorie angeben und im richtigen Teil des Request-Elements danach fragen.

Wenn Sie nur den Statuscode für einen bestimmten Teil der Seite auswerten möchten (Basisseite, Links), verwenden Sie das StatusCodeCriteria-Element. Dieses sieht wie folgt aus:

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

Im Abschnitt StatusCodeCriteria wird eine Prüfung auf eine erfolgreiche Antwort vom Test durchgeführt (Statuscode größer oder gleich 400).

Aufbau

Das Modul Microsoft.SystemCenter.WebApplication.UrlProbe ist ein natives Modul.

Modultyp Verwendung
Microsoft.SystemCenter.WebApplication.OKCriteriaMatch Bedingungserkennungsmodul für die Auswertung, wenn das Datenquellenmodul den Wert 1 (OK) zurückgibt.
Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch Bedingungserkennungsmodul für die Auswertung, wenn das Datenquellenmodul den Wert 1 (Warnung) zurückgibt.
Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch Bedingungserkennungsmodul für die Auswertung, wenn das Datenquellenmodul den Wert 1 (Fehler) zurückgibt.
Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch Bedingungserkennungsmodul für die Auswertung, wenn das Datenquellenmodul den Wert „false“ zurückgibt.
Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch Bedingungserkennungsmodul für die Auswertung, wenn das Datenquellenmodul den Wert „true“ zurückgibt.

Externe Modulverweise

Modultyp Verwendung
Microsoft.SystemCenter.WebApplication.SingleUrlProbe Testet eine einzelne URL, um zu ermitteln, ob ein anderer Statuscode als 200 vorliegt.

Beispiel

Im folgenden Beispiel wird ein einfacher URL-Test für die URL http://www.microsoft.com durchgeführt. Die Datenquelle wertet den Statuscode aus, der für die Basisseite zurückgegeben wird, und gibt den Wert 3 zurück, wenn der Statuscode größer als 400 ist und ein Fehlerzustand angegeben wird. Außerdem wird der Statuscode ausgewertet, der für die Ressourcen und Links zurückgegeben wird. Es wird der Wert 2 zurückgegeben, wenn der Statuscode größer als 400 ist und ein Warnzustand angegeben wird.

<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>
             <IgnoreServerCertError>false</IgnoreServerCertError>
             <FollowRedirects>true</FollowRedirects>
             <RetryCount>0</RetryCount>
             <RequestTimeout>0</RequestTimeout>
             <Requests>
               <Request>
                 <RequestID>1</RequestID>
                 <URL>http://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>

Informationen

** ** ** **
Modultyp ProbeActionModuleType
Eingabetyp Keine
Ausgabetyp Microsoft.SystemCenter.WebApplication.WebApplicationData
Implementierung Systemeigenes Format
Bibliothek Microsoft.SystemCenter.WebApplication.Library