Service State

Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.Monitor.Instance.WindowsServiceState (UnitMonitor)

The monitor alerts when a Windows service for the SSAS instance is not in the running state for a duration greater than the configured threshold.

Knowledge Base article:

Summary

The monitor alerts when a Windows service for the SSAS instance is not in the running state for a duration greater than the configured threshold. Note that this monitor does not work on a clustered SSAS instance.

Causes

When this monitor reports the "SQL Server Analysis Service Windows service is not running" alert, this indicates that a SSAS instance is configured to start automatically, but remained in the Stopped state over a duration that exceeds the configured threshold. The default configured value is 900 seconds (15 minutes).

The monitor will not trigger the alert prior to the configured duration when the service is stopped. This allows the administrator to restart the service without triggering the alert. However if the service is not switched to the running state within the configured period, the alert will be triggered.

SSAS Windows service could fail to start even when configured to start automatically for many reasons, including startup failure for the process, operating system issues that prevent a successful startup, or authentication failures for the service account.

Resolutions

Resolving this alert requires the administrators to understand and consider numerous factors including normal expected instance startup time, causes for unexpected failures of the service to start, authentication requirements for the server, and conditions in the environment.

Instance startup time can vary depending on the size of the database and other factors. The administrators may configure this setting accordingly to adjust normal expected startup time for a given SSAS instance accordingly.

Actions to remediate the condition when SSAS service is not started (or does not start when attempted):

External

Analysis Services Server Management

Overridable Parameters

Name

Description

Default Value

Alert only if service startup type is automatic

This may only be set to 'True' or 'False'. If set to 'False', then alerts will be triggered, no matter what the startup type is set to. 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

Element properties:

TargetMicrosoft.SQLServer.AnalysisServices.Windows.Instance
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.AnalysisServices.Windows.Monitoring.MonitorType.Instance.WindowsServiceState
RemotableTrue
AccessibilityPublic
Alert Message
SSAS: SQL Server Analysis Service Windows service is not running
Windows service for SSAS instance {1} is not running on computer {0} for a duration greater than the specified threshold.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.Monitor.Instance.WindowsServiceState" Target="SQLAS!Microsoft.SQLServer.AnalysisServices.Windows.Instance" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" TypeID="Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.MonitorType.Instance.WindowsServiceState" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.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="ASCore!Microsoft.SQLServer.AnalysisServices.Core.Instance"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<!--<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>-->
<ServiceName>$Target/Property[Type="ASCore!Microsoft.SQLServer.AnalysisServices.Core.Instance"]/ServiceName$</ServiceName>
<!--<ClusteredInstance>$Target/Property[Type="SQLAS!Microsoft.SQLServer.AnalysisServices.Windows.Instance"]/Clustered$</ClusteredInstance>-->
<CheckStartupType>true</CheckStartupType>
<SampleCount>15</SampleCount>
<IntervalSeconds>60</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>