URLGenie CA Untrusted Monitor

URLGenie.AutoOverride.CAUntrusted.Monitor (UnitMonitor)

Description for the new unit monitor.

Knowledge Base article:

Summary

SSL Certificate CA Root not trusted.

Causes

This can happen when the target URL is not using an SSL certificate that is signed by a public internet root CA.

Resolutions

Contact the administrator of the URL (server) 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.

You can attempt to get the certificate info by using the following link:

Get Certificate Info

Element properties:

TargetURLGenie.HttpsRequest.Standard
Parent MonitorURLGenie.Aggregate.Health.Monitor
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeURLGenie.AutoOverride.CAUntrusted.MT
RemotableTrue
AccessibilityPublic
Alert Message
HTTP Request Error: Certificate Authority Error
Certificate Authority Error
For certificate details, launch the task: URLGenie Get Certificate Info

Monitor Settings:
URL: {0}
GroupID: {1}
DNSResolutionTime: {2}
Interval: {3}
ResponseTime: {4}
Wiki: {5}
Description: {6}

******* Request Headers *******
{7}
******* End Request Headers *******

******* Response Headers *******
{8}
******* End Response Headers *******
RunAsDefault

Source Code:

<UnitMonitor ID="URLGenie.AutoOverride.CAUntrusted.Monitor" Accessibility="Public" Enabled="true" Target="URLGenie.HttpsRequest.Standard" ParentMonitorID="URLGenie.Aggregate.Health.Monitor" Remotable="true" Priority="Normal" TypeID="URLGenie.AutoOverride.CAUntrusted.MT" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="URLGenie.AutoOverride.CAUntrusted.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/URL$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/GroupID$</AlertParameter2>
<AlertParameter3>$Data/Context/RequestResults/RequestResult[@Id=1]/BasePageData/DNSResolutionTime$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Interval$</AlertParameter4>
<AlertParameter5>$Data/Context/DataItem/RequestResults/RequestResult[@Id="1"]/BasePageData/TotalResponseTime$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Wiki$</AlertParameter6>
<AlertParameter7>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Description$</AlertParameter7>
<AlertParameter8>$Data/Context/RequestResults/RequestResult[@Id=1]/BasePageData/RequestHeaders$</AlertParameter8>
<AlertParameter9>$Data/Context/RequestResults/RequestResult[@Id=1]/BasePageData/ResponseHeaders$</AlertParameter9>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="CriteriaError" MonitorTypeStateID="CriteriaError" HealthState="Error"/>
<OperationalState ID="CriteriaOK" MonitorTypeStateID="CriteriaOK" HealthState="Success"/>
</OperationalStates>
<Configuration>
<AuthenticationScheme>None</AuthenticationScheme>
<AuthPass>$RunAs[Name="URLGenie.Standard.Profile"]/Password$</AuthPass>
<AuthUser>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/AuthUser$</AuthUser>
<Body><Script>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Body$</Script></Body>
<CollectResponseBody>Never</CollectResponseBody>
<ContentMatch>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/ContentMatch$</ContentMatch>
<ContentMatchRegExOperator>DoesNotContainSubstring</ContentMatchRegExOperator>
<ErrorTime>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/ErrorTime$</ErrorTime>
<HeaderContentType>
<Name>Content-Type</Name>
<Value>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/HeaderContentType$</Value>
</HeaderContentType>
<Header1>
<Name>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Header1Name$</Name>
<Value>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Header1Value$</Value>
</Header1>
<Header2>
<Name>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Header2Name$</Name>
<Value>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Header2Value$</Value>
</Header2>
<Header3>
<Name>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Header3Name$</Name>
<Value>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Header3Value$</Value>
</Header3>
<Interval>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Interval$</Interval>
<ProxyAuthenticationScheme>None</ProxyAuthenticationScheme>
<ProxyPass>$RunAs[Name="URLGenie.Proxy.Profile"]/Password$</ProxyPass>
<Proxy>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/Proxy$</Proxy>
<ProxyUser>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/ProxyUser$</ProxyUser>
<ResponseTimeout>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/ResponseTimeout$</ResponseTimeout>
<RetryCount>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/RetryCount$</RetryCount>
<StatusThreshold>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/StatusThreshold$</StatusThreshold>
<URL>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/URL$</URL>
<UserAgent>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/UserAgent$</UserAgent>
<Verb>GET</Verb>
<WarningTime>$Target/Property[Type="URLGenie.HttpRequest.Seed"]/WarningTime$</WarningTime>
</Configuration>
</UnitMonitor>