WSFC Cluster

Microsoft.SQLServer.2012.AlwaysOn.ClusterStateMonitorRollup (DependencyMonitor)

WSFC Cluster State monitor

Knowledge Base article:

Summary

This monitor checks the state of Windows Server Failover Cluster (WSFC) service. The monitor is in unhealthy state and alert is raised when the cluster is offline or in the forced quorum state. All availability groups hosted within this cluster are offline or the disaster recovery action is required. Monitor state is healthy when the cluster state is in the normal quorum.

Causes

The WSFC cluster is offline or the service is started in the force quorum state. This availability group is not available to client applications.

Resolutions

You need to perform the forced quorum or disaster recovery workflow through cluster administrator tool or contact cluster administrator to resolve the cluster issue. For more information, refer to the forced quorum and disaster recovery how to guide in SQL Server 2012 Books Online.

Overridable Parameters

Name

Description

Default Value

Alert Priority

Defines Alert Priority.

Normal

Alert Severity

Defines Alert Severity.

Error

Enabled

Enables or disables the workflow.

Yes

Generates Alerts

Defines whether the workflow generates an Alert.

Yes

Element properties:

TargetMicrosoft.SQLServer.2012.AlwaysOn.AvailabilityGroup
Parent MonitorSystem.Health.AvailabilityState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2012.AlwaysOn.ClusterStateMonitor
RelationshipMicrosoft.SQLServer.2012.AlwaysOn.AvailabilityGroupReferencesAvailabilityGroupHealth
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
WSFC cluster is offline
WSFC cluster is offline and this availability group {0} is not available.
Cluster Name: {1}
Primary Replica: {2}

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.ClusterStateMonitorRollup" Accessibility="Public" Enabled="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroup" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupReferencesAvailabilityGroupHealth" MemberMonitor="Microsoft.SQLServer.2012.AlwaysOn.ClusterStateMonitor">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.AlwaysOn.ClusterStateMonitorAlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroup"]/ClusterName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroup"]/PrimaryReplicaServerName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Warning</MemberUnAvailable>
</DependencyMonitor>