Availability Group Online (Windows rollup)

Microsoft.SQLServer.Windows.Rollup.AvailabilityGroup.AvailabilityGroupOnline (DependencyMonitor)

This monitor checks the online or offline state of availability group. The monitor is in unhealthy state and alert is raised when the availability group’s cluster resource is offline or the availability group does not have a primary replica. The monitor state is healthy when the cluster resource of availability group is online and the availability group has a primary replica. This monitor is a dependency (rollup) monitor.

Knowledge Base article:

Summary

This monitor checks the online or offline state of availability group. The monitor is unhealthy and alert is raised when the availability group’s cluster resource is offline or the availability group does not have a primary replica. The monitor state is healthy when the cluster resource of availability group is online and the availability group has a primary replica.

Causes

The availability group is offline, and is unavailable. This issue can be caused by a failure in the server instance that hosts the primary replica or by the WSFC availability group resource going offline.

Resolutions

Overridable Parameters

Name

Description

Default Value

Enabled

Enables or disables the workflow.

Yes

Generates Alerts

Defines whether the workflow generates an Alert.

No

Element properties:

TargetMicrosoft.SQLServer.Core.AvailabilityGroup
Parent MonitorMicrosoft.SQLServer.Core.Rollup.AvailabilityGroup.AvailabilityGroupOnline
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.Windows.Monitor.AvailabilityGroupHealth.AvailabilityGroupOnline
RelationshipMicrosoft.SQLServer.Windows.AvailabilityGroupReferencesAvailabilityGroupHealth
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.Windows.Rollup.AvailabilityGroup.AvailabilityGroupOnline" Accessibility="Public" Enabled="true" Target="SqlCoreLib!Microsoft.SQLServer.Core.AvailabilityGroup" ParentMonitorID="SqlCoreLib!Microsoft.SQLServer.Core.Rollup.AvailabilityGroup.AvailabilityGroupOnline" Remotable="true" Priority="Normal" RelationshipType="SqlDiscW!Microsoft.SQLServer.Windows.AvailabilityGroupReferencesAvailabilityGroupHealth" MemberMonitor="Microsoft.SQLServer.Windows.Monitor.AvailabilityGroupHealth.AvailabilityGroupOnline">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Warning</MemberUnAvailable>
</DependencyMonitor>