The monitor alerts if the SSRS Windows service is not in the running state for a longer period than the threshold.
This monitor checks the state of the SQL Reporting Services Windows Service.
"Not Running" state of this monitor indicates that SQL Reporting Services service is configured to start automatically, but in "Stopped" state during the specific period. This period is defined in monitor properties and can be overridden. By default, this value is 900 seconds (15 minutes). If SQL Reporting Services turns back to "Running" state faster than that time, it means that it has been just reset.
If this monitor appears to be too disturbing in a specific environment, please increase "Unavailable Time" value. Otherwise if it is too latent, please reduce "Unavailable Time" value.
In general, Windows service could be stopped by many reasons including the following:
The service was stopped by the administrator
The service was prevented from starting because the user account could not be authenticated.
The service encountered an exception that stopped the service.
The service was improperly configured, which prevented it from starting.
You can view other alerts for this instance of SQL Reporting Services that may be related to this issue using the following link:
View SQL Reporting Services Alerts
Name | Description | Default Value |
Alert only if service startup type is automatic | This may be set to 'true' or 'false' only. The workflow will not consider the current startup type setting of the service if this parameter is set to 'false'. The default is 'true'. | Yes |
Enabled | Enables or disables the workflow. | Yes |
Generates Alerts | Defines whether the workflow generates an Alert. | Yes |
Interval (seconds) | The recurring interval of time in seconds in which to run the workflow. | 60 |
Number of samples | Indicates how many times a measured value should breach a threshold before the state is changed. | 15 |
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 |
Target | Microsoft.SQLServer.ReportingServices.Windows.Instance | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.ReportingServices.Windows.MonitorType.Instance.WindowsServiceState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.ReportingServices.Windows.Monitor.Instance.WindowsServiceState" 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.WindowsServiceState" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.ReportingServices.Windows.Monitor.Instance.WindowsServiceState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="RsCore!Microsoft.SQLServer.ReportingServices.Core.Instance"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ServiceName>$Target/Property[Type="RsDiscW!Microsoft.SQLServer.ReportingServices.Windows.Instance"]/ServiceName$</ServiceName>
<CheckStartupType>true</CheckStartupType>
<SampleCount>15</SampleCount>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>60</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>