Web Application

Microsoft.SystemCenter.WebApplication.SingleUrl.Template (Template)

This template allows you to create monitoring for a simple Web Application. You can use the Web Application Recorder at the end of this Wizard to record a browser session as well as edit existing monitoring for your Web Application.

Source Code:

<Template ID="Microsoft.SystemCenter.WebApplication.SingleUrl.Template">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Microsoft.SystemCenter.WebApplication.WebModulesSchema</SchemaType>
<SchemaType>Microsoft.SystemCenter.WebApplication.GroupPopulationSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="TypeId" type="xsd:string"/>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="LocaleId" type="xsd:string"/>
<xsd:element name="Verb" type="VerbType"/>
<xsd:element name="URL" type="xsd:string"/>
<xsd:element name="Version" type="VersionType"/>
<xsd:element name="PollIntervalInSeconds" type="xsd:unsignedInt"/>
<xsd:element name="IncludeList" type="MonitoringObjectIdListType"/>
<xsd:element name="WatcherComputersList" type="xsd:string"/>
<xsd:element name="UniquenessKey" type="xsd:string"/>
<xsd:element name="Proxy" type="xsd:string"/>
<xsd:element name="ProxyUserName" type="xsd:string"/>
<xsd:element name="ProxyPassword" type="xsd:string"/>
<xsd:element name="ProxyAuthenticationScheme" type="AuthenticationSchemeType"/>
<xsd:element name="CredentialUserName" type="xsd:string"/>
<xsd:element name="CredentialPassword" type="xsd:string"/>
<xsd:element name="AuthenticationScheme" type="AuthenticationSchemeType"/>
</Configuration>
<References>
<Reference ID="System"/>
<Reference ID="SC"/>
<Reference ID="SCDW"/>
<Reference ID="Windows"/>
<Reference ID="Self"/>
<Reference ID="Performance"/>
<Reference ID="Health"/>
</References>
<Implementation>
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="$TemplateConfig/TypeId$" Base="$Reference/Self$Microsoft.SystemCenter.WebApplication.Perspective" Abstract="false" Accessibility="Public" Hosted="true"/>
<ClassType ID="$TemplateConfig/TypeId$WatcherComputersGroup" Abstract="false" Accessibility="Public" Base="$Reference/SC$Microsoft.SystemCenter.ComputerGroup" Hosted="false" Singleton="true"/>
</ClassTypes>
<RelationshipTypes/>
</EntityTypes>
<ModuleTypes>
<DataSourceModuleType ID="$TemplateConfig/TypeId$.UrlDataSource" Accessibility="Public">
<Configuration/>
<ModuleImplementation>
<Composite>
<MemberModules>
<DataSource TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.PerProbe.Scheduler" ID="Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Seconds">$TemplateConfig/PollIntervalInSeconds$</Interval>
<SpreadInitializationOverInterval Unit="Seconds">$TemplateConfig/PollIntervalInSeconds$</SpreadInitializationOverInterval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
<UniquenessKey>$Target/Id$</UniquenessKey>
</DataSource>
<ProbeAction TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.UrlProbe" ID="Probe">
<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>$TemplateConfig/URL$</URL>
<Verb>$TemplateConfig/Verb$</Verb>
<Version>$TemplateConfig/Version$</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/>
</Request>
</Requests>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="Probe">
<Node ID="Scheduler"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>$Reference/Self$Microsoft.SystemCenter.WebApplication.WebApplicationData</OutputType>
</DataSourceModuleType>
</ModuleTypes>
<MonitorTypes>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.ErrorCodeFailure" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="ErrorCodeFailure"/>
<MonitorTypeState ID="ErrorCodeOK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/System$System.ExpressionFilter" ID="CDErrorCodeFailureTrue">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/ErrorCode</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/System$System.ExpressionFilter" ID="CDErrorCodeFailureFalse">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/ErrorCode</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="ErrorCodeFailure">
<Node ID="CDErrorCodeFailureTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorCodeOK">
<Node ID="CDErrorCodeFailureFalse">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="ErrorCodeOK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.DNSResolutionFailure" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="DNSResolutionFailure"/>
<MonitorTypeState ID="DNSResolutionOK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch" ID="CDDNSResolutionFailureTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/DNSResolutionFailure</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch" ID="CDDNSResolutionFailureFalse">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/DNSResolutionFailure</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="DNSResolutionFailure">
<Node ID="CDDNSResolutionFailureTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="DNSResolutionOK">
<Node ID="CDDNSResolutionFailureFalse">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="DNSResolutionOK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.Unreachable" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="Unreachable"/>
<MonitorTypeState ID="Reachable"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch" ID="CDUnreachable">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/Unreachable</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch" ID="CDReachable">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/Unreachable</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Unreachable">
<Node ID="CDUnreachable">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Reachable">
<Node ID="CDReachable">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="Reachable">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.SSLCertificateExpired" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="CertificateExpired"/>
<MonitorTypeState ID="CertificateNotExpired"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch" ID="CDCertificateExpired">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CertificateExpired</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch" ID="CDCertificateNotExpired">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CertificateExpired</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="CertificateExpired">
<Node ID="CDCertificateExpired">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="CertificateNotExpired">
<Node ID="CDCertificateNotExpired">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="CertificateNotExpired">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCNInvalid" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="CertificateCNInvalid"/>
<MonitorTypeState ID="CertificateCNOK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch" ID="CDCertificateCNInvalid">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CertificateCNInvalid</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch" ID="CDCertificateCNOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CertificateCNInvalid</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="CertificateCNInvalid">
<Node ID="CDCertificateCNInvalid">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="CertificateCNOK">
<Node ID="CDCertificateCNOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="CertificateCNOK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCAUntrusted" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="CertificateAuthorityUntrusted"/>
<MonitorTypeState ID="CertificateAuthorityTrusted"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaMatch" ID="CDCertificateAuthorityUntrusted">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CertificateAuthorityUntrusted</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.Boolean.CriteriaDoesNotMatch" ID="CDCertificateAuthorityTrusted">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CertificateAuthorityUntrusted</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="CertificateAuthorityUntrusted">
<Node ID="CDCertificateAuthorityUntrusted">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="CertificateAuthorityTrusted">
<Node ID="CDCertificateAuthorityTrusted">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="CertificateAuthorityTrusted">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.ContentMatchCriteria" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="ContentMatchCriteriaOK"/>
<MonitorTypeState ID="ContentMatchCriteriaError"/>
<MonitorTypeState ID="ContentMatchCriteriaWarning"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDContentMatchCriteriaOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/ResponseBodyEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDContentMatchCriteriaError">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/ResponseBodyEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDContentMatchCriteriaWarning">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/ResponseBodyEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="ContentMatchCriteriaOK">
<Node ID="CDContentMatchCriteriaOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ContentMatchCriteriaError">
<Node ID="CDContentMatchCriteriaError">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ContentMatchCriteriaWarning">
<Node ID="CDContentMatchCriteriaWarning">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="ContentMatchCriteriaOK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.StatusCode" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="StatusCodeWarningCriteriaTrue"/>
<MonitorTypeState ID="StatusCodeErrorCriteriaTrue"/>
<MonitorTypeState ID="StatusCodeOK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="StatusCodeWarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="StatusCodeErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="StatusCodeOK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="StatusCodeOK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.Links.StatusCode" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="StatusCodeWarningCriteriaTrue"/>
<MonitorTypeState ID="StatusCodeErrorCriteriaTrue"/>
<MonitorTypeState ID="StatusCodeOK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/LinkData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/LinkData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/LinkData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="StatusCodeWarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="StatusCodeErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="StatusCodeOK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="StatusCodeOK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.Resources.StatusCode" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="StatusCodeWarningCriteriaTrue"/>
<MonitorTypeState ID="StatusCodeErrorCriteriaTrue"/>
<MonitorTypeState ID="StatusCodeOK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/ResourceData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/ResourceData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/ResourceData/StatusCodeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="StatusCodeWarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="StatusCodeErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="StatusCodeOK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="StatusCodeOK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.NumericMonitor" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="WarningCriteriaTrue"/>
<MonitorTypeState ID="ErrorCriteriaTrue"/>
<MonitorTypeState ID="OK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
<xsd:element name="NumericRequestMetric" type="xsd:string"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/$Config/NumericRequestMetric$EvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/$Config/NumericRequestMetric$EvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/$Config/NumericRequestMetric$EvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="WarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="OK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.WebAppLevelNumericMonitor" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="WarningCriteriaTrue"/>
<MonitorTypeState ID="ErrorCriteriaTrue"/>
<MonitorTypeState ID="OK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="NumericRequestMetric" type="xsd:string"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>$Config/NumericRequestMetric$EvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>$Config/NumericRequestMetric$EvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>$Config/NumericRequestMetric$EvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="WarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="OK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.CustomCriteria" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="WarningCriteriaTrue"/>
<MonitorTypeState ID="ErrorCriteriaTrue"/>
<MonitorTypeState ID="OK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CustomCriteriaEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CustomCriteriaEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/CustomCriteriaEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="WarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="OK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.BasePage.DNSResolutionTime" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="WarningCriteriaTrue"/>
<MonitorTypeState ID="ErrorCriteriaTrue"/>
<MonitorTypeState ID="OK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/DNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/DNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/DNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="WarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="OK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.Links.AggregateDNSResolutionTime" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="WarningCriteriaTrue"/>
<MonitorTypeState ID="ErrorCriteriaTrue"/>
<MonitorTypeState ID="OK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/LinkData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/LinkData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/LinkData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="WarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="OK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="$TemplateConfig/TypeId$.Total.AggregateDNSResolutionTime" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="WarningCriteriaTrue"/>
<MonitorTypeState ID="ErrorCriteriaTrue"/>
<MonitorTypeState ID="OK"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="RequestID" type="xsd:unsignedInt"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
<ProbeAction TypeID="$Reference/System$System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.WarningCriteriaMatch" ID="CDWarningCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ErrorCriteriaMatch" ID="CDErrorCriteriaTrue">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.OKCriteriaMatch" ID="CDOK">
<DataItemEvaluationQuery>RequestResults/RequestResult[@Id="$Config/RequestID$"]/WebPageTotalData/AggregateDNSResolutionTimeEvalResult</DataItemEvaluationQuery>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="WarningCriteriaTrue">
<Node ID="CDWarningCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorCriteriaTrue">
<Node ID="CDErrorCriteriaTrue">
<Node ID="DS1"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OK">
<Node ID="CDOK">
<Node ID="DS1"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="OK">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>
</MonitorTypes>
</TypeDefinitions>
<Monitoring>
<Discoveries>
<Discovery ID="$TemplateConfig/TypeId$.Discovery.Rule" Enabled="false" Target="$Reference/Windows$Microsoft.Windows.Computer">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="$TemplateConfig/TypeId$"/>
<DiscoveryRelationship TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.ComputerHostsWebApplicationPerspective"/>
</DiscoveryTypes>
<DataSource ID="PerspectiveDiscoveryDS" TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.PerspectiveDiscoveryDataSource">
<ClassId>$MPElement[Name="$TemplateConfig/TypeId$"]$</ClassId>
<DisplayName>$TemplateConfig/Name$</DisplayName>
<WatcherComputersList>$TemplateConfig/WatcherComputersList$</WatcherComputersList>
<UniquenessKey>$TemplateConfig/UniquenessKey$</UniquenessKey>
<WatcherName>$MPElement[Name="$TemplateConfig/TypeId$"]$</WatcherName>
</DataSource>
</Discovery>
<Discovery ID="$TemplateConfig/TypeId$WatcherComputersGroup.Discovery.Rule" Target="$TemplateConfig/TypeId$WatcherComputersGroup" Enabled="true">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="$TemplateConfig/TypeId$WatcherComputersGroup"/>
</DiscoveryTypes>
<DataSource ID="GroupPopulationDataSource" TypeID="$Reference/SC$Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="$Reference/Windows$Microsoft.Windows.Computer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="$Reference/SC$Microsoft.SystemCenter.ComputerGroupContainsComputer"]$</RelationshipClass>
<IncludeList>$TemplateConfig/IncludeList$</IncludeList>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="$Reference/Windows$Microsoft.Windows.Computer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="$Reference/SC$Microsoft.SystemCenter.ComputerGroupContainsComputer"]$</RelationshipClass>
<Expression>
<Contains maxDepth="1">
<MonitoringClass>$MPElement[Name="$TemplateConfig/TypeId$"]$</MonitoringClass>
</Contains>
</Expression>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
</Discoveries>
<Rules>
<Rule ID="$TemplateConfig/TypeId$.TransactionResponseTime" Target="$TemplateConfig/TypeId$" Enabled="true">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource TypeID="$TemplateConfig/TypeId$.UrlDataSource" ID="DS1"/>
</DataSources>
<ConditionDetection TypeID="$Reference/Self$Microsoft.SystemCenter.WebApplication.PerformanceMapper" ID="PerfMapper">
<ObjectName>Web Application</ObjectName>
<CounterName>Total Web Application Response Time</CounterName>
<InstanceName>$TemplateConfig/Name$</InstanceName>
<Value>$Data/TransactionResponseTime$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="PerfWriteAction" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="PerfWriteToDWAction" TypeID="$Reference/SCDW$Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>
</Rules>
<Tasks/>
<Monitors>
<AggregateMonitor ID="$TemplateConfig/TypeId$.WebApplication" Accessibility="Public" Target="$TemplateConfig/TypeId$" ParentMonitorID="$Reference/Health$System.Health.AvailabilityState" Enabled="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="$TemplateConfig/TypeId$.WebApplication.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="$TemplateConfig/TypeId$.Request1" Accessibility="Public" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.WebApplication" Enabled="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="$TemplateConfig/TypeId$.Request1.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage" Accessibility="Public" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1" Enabled="true">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage.SSL" Accessibility="Public" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.BasePage" Enabled="true">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="$TemplateConfig/TypeId$.Request1.Links" Accessibility="Public" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1" Enabled="true">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="$TemplateConfig/TypeId$.Request1.Resources" Accessibility="Public" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1" Enabled="true">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="$TemplateConfig/TypeId$.Request1.Total" Accessibility="Public" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1" Enabled="true">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage.Unreachable" TypeID="$TemplateConfig/TypeId$.BasePage.Unreachable" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.BasePage" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="Reachable" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Unreachable" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage.ErrorCodeFailure" TypeID="$TemplateConfig/TypeId$.BasePage.ErrorCodeFailure" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.BasePage" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="ErrorCodeOK" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="ErrorCodeFailure" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage.DNSResolutionFailure" TypeID="$TemplateConfig/TypeId$.BasePage.DNSResolutionFailure" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.BasePage" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="DNSResolutionOK" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="DNSResolutionFailure" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage.StatusCode.Monitor" TypeID="$TemplateConfig/TypeId$.BasePage.StatusCode" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.BasePage" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="StatusCodeOK" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="StatusCodeWarningCriteriaTrue" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="StatusCodeErrorCriteriaTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateExpired" TypeID="$TemplateConfig/TypeId$.BasePage.SSLCertificateExpired" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.BasePage.SSL" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="CertificateNotExpired" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="CertificateExpired" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateCAUntrusted" TypeID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCAUntrusted" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.BasePage.SSL" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="CertificateAuthorityTrusted" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="CertificateAuthorityUntrusted" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateCNInvalid" TypeID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCNInvalid" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.BasePage.SSL" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="CertificateCNOK" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="CertificateCNInvalid" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.Links.StatusCode.Monitor" TypeID="$TemplateConfig/TypeId$.Links.StatusCode" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.Links" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="StatusCodeOK" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="StatusCodeWarningCriteriaTrue" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="StatusCodeErrorCriteriaTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="$TemplateConfig/TypeId$.Request1.Resources.StatusCode.Monitor" TypeID="$TemplateConfig/TypeId$.Resources.StatusCode" Target="$TemplateConfig/TypeId$" ParentMonitorID="$TemplateConfig/TypeId$.Request1.Resources" Enabled="true" Accessibility="Public">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="StatusCodeOK" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="StatusCodeWarningCriteriaTrue" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="StatusCodeErrorCriteriaTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<RequestID>1</RequestID>
</Configuration>
</UnitMonitor>
</Monitors>
<Overrides>
<DiscoveryPropertyOverride ID="$TemplateConfig/TypeId$.Discovery.Rule.Override" Discovery="$TemplateConfig/TypeId$.Discovery.Rule" Context="$TemplateConfig/TypeId$WatcherComputersGroup" Enforced="false" Property="Enabled">
<Value>true</Value>
</DiscoveryPropertyOverride>
</Overrides>
</Monitoring>
<Presentation>
<StringResources>
<StringResource ID="$TemplateConfig/TypeId$.WebApplication.AlertMessage"/>
<StringResource ID="$TemplateConfig/TypeId$.Request1.AlertMessage"/>
</StringResources>
</Presentation>
<LanguagePacks>
<LanguagePack ID="$TemplateConfig/LocaleId$">
<DisplayStrings>
<DisplayString ElementID="$TemplateConfig/TypeId$">
<Name>$TemplateConfig/Name$</Name>
<Description>$TemplateConfig/Description$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Discovery.Rule">
<Name>$TemplateConfig/Name$ Discovery</Name>
<Description>Discovery rule for $TemplateConfig/Name$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$WatcherComputersGroup.Discovery.Rule">
<Name>$TemplateConfig/Name$ Watcher Group Discovery</Name>
<Description>Discovery for $TemplateConfig/Name$ watcher computers</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$WatcherComputersGroup">
<Name>$TemplateConfig/Name$ watcher computers group</Name>
<Description>Group of $TemplateConfig/Name$ watcher computers</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.TransactionResponseTime">
<Name>Performance Collection: Transaction response time</Name>
<Description>Performance counter collection rule for Transaction response time</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.WebApplication">
<Name>Web Application - $TemplateConfig/Name$</Name>
<Description>Aggregate roll-up monitor for the all the requests of a Web Application.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.WebApplication.AlertMessage">
<Name>Web Application - $TemplateConfig/Name$</Name>
<Description>This alert was generated by the aggregate monitor. Please open the health explorer to identify the monitors which contributed to this alert.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1">
<Name>Web Application Request - $TemplateConfig/Name$</Name>
<Description>Aggregate roll-up monitor for the initial request of a Web Application.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.AlertMessage">
<Name>Web Application Request - $TemplateConfig/Name$</Name>
<Description>This alert was generated by the aggregate monitor. Please open the health explorer to identify the monitors which contributed to this alert.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage">
<Name>Base Page</Name>
<Description>Aggregate roll-up monitor for the Base Page</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage.SSL">
<Name>SSL Monitoring</Name>
<Description>Aggregate roll-up monitor for all SSL monitors on the Base Page.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.Links">
<Name>Links on Base Page</Name>
<Description>Aggregate roll-up monitor for all Link monitors on the Base Page</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.Resources">
<Name>Resources on Base Page</Name>
<Description>Aggregate roll-up monitor for all Resource monitors on the Base Page</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.Total">
<Name>Total Data on Base Page</Name>
<Description>Aggregate roll-up monitor for all Total monitors on the Base Page</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage.Unreachable">
<Name>Page Unreachable</Name>
<Description>The base page was unreachable.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage.ErrorCodeFailure">
<Name>Error Code Failure</Name>
<Description>A probe error occurred while processing the request</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage.DNSResolutionFailure">
<Name>DNS Resolution Failure</Name>
<Description>Unable to resolve name via DNS</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage.StatusCode.Monitor">
<Name>Status Code</Name>
<Description>Status Code failure</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateExpired">
<Name>SSL Certificate Expired</Name>
<Description>SSL Certificate has expired</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateCAUntrusted">
<Name>Untrusted CA</Name>
<Description>The SSL Certificate Authority is not trusted.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateCNInvalid">
<Name>Certificate CN Invalid</Name>
<Description>The certificate CN is invalid</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.Links.StatusCode.Monitor">
<Name>Links Status Code</Name>
<Description>Checks the Status Code of each link in MOM.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Request1.Resources.StatusCode.Monitor">
<Name>Resources Status Code</Name>
<Description>Checks the Status Code at a large scale.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.ErrorCodeFailure">
<Name>Base Page Error Code Failure</Name>
<Description>This monitor detects occurred probe errors while processing the request.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.ErrorCodeFailure" SubElementID="ErrorCodeFailure">
<Name>Error Code Resolution Failure (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.ErrorCodeFailure" SubElementID="ErrorCodeOK">
<Name>Error Code Resolution Completed (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.DNSResolutionFailure">
<Name>Base Page DNS Resolution Failure</Name>
<Description>This monitor detects DNS resolution failures requesting the base page.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.DNSResolutionFailure" SubElementID="DNSResolutionFailure">
<Name>DNS Resolution Failure (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.DNSResolutionFailure" SubElementID="DNSResolutionOK">
<Name>DNS Resolution Completed (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.Unreachable">
<Name>Base Page Unreachable</Name>
<Description>This monitor detects failures to reach the base page.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.Unreachable" SubElementID="Unreachable">
<Name>Base Page Unreachable (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.Unreachable" SubElementID="Reachable">
<Name>Base Page Available (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateExpired">
<Name>Base Page SSL Certificate Expired</Name>
<Description>This monitor detects if the SSL certificate has expired.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateExpired" SubElementID="CertificateExpired">
<Name>Certificate Expired (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateExpired" SubElementID="CertificateNotExpired">
<Name>Certificate Expiration OK (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCNInvalid">
<Name>Base Page SSL Certificate CN Invalid</Name>
<Description>This monitor detects if the CN for the base pages SSL certificate is valid.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCNInvalid" SubElementID="CertificateCNInvalid">
<Name>CN Invalid (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCNInvalid" SubElementID="CertificateCNOK">
<Name>CN Valid (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCAUntrusted">
<Name>Base Page SSL Certificate CA Unstrusted</Name>
<Description>This monitor checks if the CA that issued the Base Page SSL Certificate is a trusted Root Authority</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCAUntrusted" SubElementID="CertificateAuthorityUntrusted">
<Name>CA Not Trusted (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.SSLCertificateCAUntrusted" SubElementID="CertificateAuthorityTrusted">
<Name>CA Trusted (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.ContentMatchCriteria">
<Name>Content Match</Name>
<Description>This monitor searches the response body and attempts to match it to user specified criteria.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.ContentMatchCriteria" SubElementID="ContentMatchCriteriaError">
<Name>Content Match Failed (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.ContentMatchCriteria" SubElementID="ContentMatchCriteriaWarning">
<Name>Content Match Failed (Warning)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.ContentMatchCriteria" SubElementID="ContentMatchCriteriaOK">
<Name>Content Matched (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.StatusCode">
<Name>Base Page Status Code</Name>
<Description>This monitor checks the Base Page Status Code</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.StatusCode" SubElementID="StatusCodeErrorCriteriaTrue">
<Name>Status Code (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.StatusCode" SubElementID="StatusCodeWarningCriteriaTrue">
<Name>Status Code (Warning)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.StatusCode" SubElementID="StatusCodeOK">
<Name>Status Code (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Links.StatusCode">
<Name>Links Status Code</Name>
<Description>This monitor checks the Status Code for links on the base page.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Links.StatusCode" SubElementID="StatusCodeErrorCriteriaTrue">
<Name>Status Code (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Links.StatusCode" SubElementID="StatusCodeWarningCriteriaTrue">
<Name>Status Code (Warning)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Links.StatusCode" SubElementID="StatusCodeOK">
<Name>Status Code (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Resources.StatusCode">
<Name>Resources Status Code</Name>
<Description>This monitor checks the Status Code for Resources on the base page.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Resources.StatusCode" SubElementID="StatusCodeErrorCriteriaTrue">
<Name>Status Code (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Resources.StatusCode" SubElementID="StatusCodeWarningCriteriaTrue">
<Name>Status Code (Warning)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Resources.StatusCode" SubElementID="StatusCodeOK">
<Name>Status Code (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.WebAppLevelNumericMonitor">
<Name>Transaction Response Numeric Monitor</Name>
<Description>This monitor is used to threshold on transaction response time.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.WebAppLevelNumericMonitor" SubElementID="ErrorCriteriaTrue">
<Name>Error Threshold</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.WebAppLevelNumericMonitor" SubElementID="WarningCriteriaTrue">
<Name>Warning Threshold</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.WebAppLevelNumericMonitor" SubElementID="OK">
<Name>Success Threshold</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.NumericMonitor">
<Name>Numeric Monitor</Name>
<Description>This monitor is used to threshold on numeric values like Time To First Byte.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.NumericMonitor" SubElementID="ErrorCriteriaTrue">
<Name>Error Threshold</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.NumericMonitor" SubElementID="WarningCriteriaTrue">
<Name>Warning Threshold</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.NumericMonitor" SubElementID="OK">
<Name>Success Threshold</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.CustomCriteria">
<Name>Custom Criteria</Name>
<Description>This monitor is a custom monitor created based on the criteria supplied in the Web Application Editor.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.CustomCriteria" SubElementID="ErrorCriteriaTrue">
<Name>Error Criteria Matched</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.CustomCriteria" SubElementID="WarningCriteriaTrue">
<Name>Warning Criteria Matched</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.CustomCriteria" SubElementID="OK">
<Name>Success Criteria Matched</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.DNSResolutionTime">
<Name>Base Page DNS Resolution Time</Name>
<Description>This monitor detects if the DNS resolution time for the base page is taking too long.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.DNSResolutionTime" SubElementID="ErrorCriteriaTrue">
<Name>DNS Resolution Time Threshold (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.DNSResolutionTime" SubElementID="WarningCriteriaTrue">
<Name>DNS Resolution Time Threshold (Warning)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.BasePage.DNSResolutionTime" SubElementID="OK">
<Name>DNS Resolution Time Threshold (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Links.AggregateDNSResolutionTime">
<Name>Links DNS Resolution Time</Name>
<Description>This monitor detects if the DNS resolution time for all links is taking too long.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Links.AggregateDNSResolutionTime" SubElementID="ErrorCriteriaTrue">
<Name>DNS Resolution Time Threshold (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Links.AggregateDNSResolutionTime" SubElementID="WarningCriteriaTrue">
<Name>DNS Resolution Time Threshold (Warning)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Links.AggregateDNSResolutionTime" SubElementID="OK">
<Name>DNS Resolution Time Threshold (Success)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Total.AggregateDNSResolutionTime">
<Name>Total DNS Resolution Time</Name>
<Description>This monitor detects the total DNS resolution time over all requets is taking too long.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Total.AggregateDNSResolutionTime" SubElementID="ErrorCriteriaTrue">
<Name>Total DNS Resolution Time Threshold (Error)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Total.AggregateDNSResolutionTime" SubElementID="WarningCriteriaTrue">
<Name>Total DNS Resolution Time Threshold (Warning)</Name>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.Total.AggregateDNSResolutionTime" SubElementID="OK">
<Name>Total DNS Resolution Time Threshold (Success)</Name>
</DisplayString>
</DisplayStrings>
<KnowledgeArticles>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.WebApplication">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rolls up health from all the individual monitors for the whole Web Application</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rolls up health from all the individual monitors for each request in this Web Application</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage.SSL">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rolls up health from all the individual monitors monitoring SSL certificates on the target URL</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.Links">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rolls up health from all the individual monitors for link in each request in this Web Application</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.Resources">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rolls up health from all the individual monitors for resources in each request in this Web Application</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.Total">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rolls up health from all the individual monitors for the total health of the Web Application</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage.Unreachable">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The target URL is unavailable</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This can happen for a few reasons:</maml:para>
<maml:para/>
<maml:list>
<maml:listItem>
<maml:para>The target URL is down for maintenance or unavailable</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>There is a firewall between the watcher node and the URL</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>System proxy settings are not set for the watcher node</maml:para>
</maml:listItem>
</maml:list>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Try the following troubleshooting steps to attempt to fix the problem</maml:para>
<maml:para/>
<maml:list>
<maml:listItem>
<maml:para>Ping the target URL to ensure it's on the network</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>Configure the system proxy settings on each of the watcher nodes</maml:para>
</maml:listItem>
</maml:list>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage.ErrorCodeFailure">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>An error was encountered while processing an URL.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This can happen for a few reasons:</maml:para>
<maml:para/>
<maml:list>
<maml:listItem>
<maml:para>The page is unreachable. If behind a proxy, check if the proxy settings are correct.</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>Unexpected API call failures. Multiple reasons could cause this, for instance a memory allocation error.</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>The site or URL is not accessible or is down.</maml:para>
</maml:listItem>
</maml:list>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Try to access the same URL from an internet browser like Internet Explorer.</maml:para>
<maml:para/>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage.DNSResolutionFailure">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Could not resolve the user supplied URL through the watcher nodes Domain Name Service.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This can happen for a few reasons:</maml:para>
<maml:para/>
<maml:list>
<maml:listItem>
<maml:para>The DNS client side cache has a stale entry</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>The DNS infrastructure not available</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>The watcher node DNS settings are out of date or incorrect</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>DNS has a stale entry for the supplied target name and is returning the wrong IP address</maml:para>
</maml:listItem>
</maml:list>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Try the following troubleshooting steps to attempt to fix the problem</maml:para>
<maml:para/>
<maml:list>
<maml:listItem>
<maml:para>On a Windows Computer, at the command line type:</maml:para>
<maml:para>ipconfig /flushdns</maml:para>
<maml:para/>
<maml:para>Then type:</maml:para>
<maml:para>ipconfig /registerdns</maml:para>
<maml:para/>
</maml:listItem>
<maml:listItem>
<maml:para>Check with your network or domain administrator if there is any problems with the DNS infrastructure that the watcher node is configured to use.</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>Check the URL can be pinged. Note that in some cases, the network path from the watcher node to the URL may not allow ICMP, so ping may fail.</maml:para>
<maml:para>Do this by pinging by the URL name you supplied in the wizard. Type ping -a [URL]. For example, if the IP Address is www.microsoft.com:</maml:para>
<maml:example>
<maml:para>ping www.microsoft.com</maml:para>
</maml:example>
</maml:listItem>
</maml:list>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage.StatusCode.Monitor">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Status code does not match the supplied criteria</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This can happen for a few reasons:</maml:para>
<maml:para/>
<maml:list>
<maml:listItem>
<maml:para>The target URL is offline</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>The watcher node doesn't have the appropriate permissions</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>There may be a firewall between the watcher node and the target device</maml:para>
</maml:listItem>
</maml:list>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Try the following troubleshooting steps to attempt to fix the problem</maml:para>
<maml:para/>
<maml:list>
<maml:listItem>
<maml:para>Open IE to confirm that the target URL is online</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>Ensure that the Run As account used by the watcher node has the appropriate permissions to the target data source</maml:para>
</maml:listItem>
<maml:listItem>
<maml:para>Check if the Windows Firewall is enabled on either the target machine or the watcher node. If it is, create an exclusion for the application you are monitoring.</maml:para>
</maml:listItem>
</maml:list>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateExpired">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>SSL Certificate has Expired</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The servers servicing this URL has an expired SSL Certificate</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Contact the administrator of the URL to update their SSL certificate</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateCAUntrusted">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>SSL Certificate CA Root not trusted</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This can happen when the target URL is not using an SSL certificate that is signed by a public internet root CA.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Contact the administrator of the URL to use a publicly signed SSL certificate or add the Certificate to the watcher nodes trusted root CA store if you are in fact sure you should be trusting this source. For example if you have an internal Root CA that supplies SSL certificates.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.BasePage.SSLCertificateCNInvalid">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The CN for this Certificate is invalid</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This can happen when the certificate is invalid</maml:para>
<maml:list>
<maml:listItem>
<maml:para>The watcher node doesn't have the appropriate permissions</maml:para>
</maml:listItem>
</maml:list>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Contact the administrator of the URL to ensure they have a properly configured SSL certificate.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.Links.StatusCode.Monitor">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>One of the links on this page does not match the status code criteria</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This can happen when one or more links on the page results in a status code that doesn't match the criteria provided by the wizard by default.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Edit the web application monitoring from the Authoring space and check the criteria for links</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.Request1.Resources.StatusCode.Monitor">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>One of the resources on this page does not match the status code criteria</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This can happen when one or more resources (e.g. images, cascading style sheets, scripts, etc...) on the page results in a status code that doesn't match the criteria provided by the wizard by default.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Edit the web application monitoring from the Authoring space and check the criteria for links</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
</KnowledgeArticles>
</LanguagePack>
</LanguagePacks>
</Implementation>
</Template>