Web service accessible

Microsoft.SQLServer.ReportingServices.Windows.Monitor.Instance.WebServiceAccessible (UnitMonitor)

The monitor raises an alert if monitoring workflow cannot connect to SSRS web service.

Knowledge Base article:

Summary

The monitor raises an alert if monitoring workflow cannot connect to SSRS web service.

Causes

Some of the issues that can cause “Cannot connect to report server” are as follows:

Resolutions

The following link provides more information about how to connect to the Reporting Services:

Connect to a Report Server in Management Studio

Overridable Parameters

Name

Description

Default Value

Enabled

Enables or disables the workflow

Yes

Generates Alerts

Defines whether the workflow generates an Alert

Yes

Ignored status codes checkup

This parameter allows checking if responses from the web services with admittedly invalid status codes should be passed as valid ones. You can set a list of valid codes divided by semicolons.

 

Interval (seconds)

The recurring interval of time in seconds in which to run the workflow.

300

Number of samples

Indicates, how many times a measured value should breach a threshold before the state is changed.

6

Synchronization Time

The synchronization time specified by using a 24-hour format. May be omitted.

 

Timeout (seconds)

Specifies the time the workflow is allowed to run before being closed and marked as failed.

300

Element properties:

TargetMicrosoft.SQLServer.ReportingServices.Windows.Instance
Parent MonitorSystem.Health.AvailabilityState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.ReportingServices.Windows.MonitorType.Instance.WebServiceAccessible
RemotableTrue
AccessibilityPublic
Alert Message
SSRS: Instance cannot connect to SSRS web service
Instance cannot connect to SSRS web service.
PortalStatusCode: {0}
Portal Error Message: {1}
Http Status Code: {2}
REST Status Code: {3}
REST Service Error Message: {4}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.ReportingServices.Windows.Monitor.Instance.WebServiceAccessible" Accessibility="Public" Enabled="true" Target="RsDiscW!Microsoft.SQLServer.ReportingServices.Windows.Instance" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.ReportingServices.Windows.MonitorType.Instance.WebServiceAccessible" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.ReportingServices.Windows.Monitor.Instance.WebServiceAccessible.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='PortalStatusCode']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='PortalErrors']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='HttpStatusCode']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='RestStatusCode']$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='RestServiceErrors']$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ServiceName>$Target/Property[Type="RsDiscW!Microsoft.SQLServer.ReportingServices.Windows.Instance"]/ServiceName$</ServiceName>
<ApplicationUrl>$Target/Property[Type="RsDiscW!Microsoft.SQLServer.ReportingServices.Windows.Instance"]/ReportServerUrl$</ApplicationUrl>
<IgnoredStatusCodes/>
<SampleCount>6</SampleCount>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>