MSSQL 2016: SQL Server Always On High Availability Group Discovery

Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnGroupOfGroupsDiscovery (Discovery)

This object discovery populates the Always On High Availability Group to contain all SQL Server 2016 Always On Availability groups.

Knowledge Base article:

Summary

This object discovery populates the Always On High Availability Group to contain all SQL Server 2016 Always On Availability groups.

Overridable Parameters

Name

Description

Default Value

Enabled

Enables or disables the workflow.

Yes

Element properties:

TargetMicrosoft.SQLServer.2016.AlwaysOn.AlwaysOnHightAvailability
EnabledTrue
RemotableFalse

Object Discovery Details:

Discovered relationships and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SystemCenter.GroupPopulator Default

Source Code:

<Discovery ID="Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnGroupOfGroupsDiscovery" Enabled="true" Target="Views2016!Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnHightAvailability" ConfirmDelivery="true" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnHightAvailabilityContainsAvailabilityGroupGroup"/>
<DiscoveryRelationship TypeID="Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnHightAvailabilityContainsAvailabilityReplicaGroup"/>
<DiscoveryRelationship TypeID="Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnHightAvailabilityContainsDatabaseReplicaGroup"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Views2016!Microsoft.SQLServer.2016.AlwaysOn.AvailabilityGroupGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnHightAvailabilityContainsAvailabilityGroupGroup"]$</RelationshipClass>
<IncludeList>
<MonitoringObjectId>$MPElement[Name="Views2016!Microsoft.SQLServer.2016.AlwaysOn.AvailabilityGroupGroup"]$</MonitoringObjectId>
</IncludeList>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Views2016!Microsoft.SQLServer.2016.AlwaysOn.AvailabilityReplicaGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnHightAvailabilityContainsAvailabilityReplicaGroup"]$</RelationshipClass>
<IncludeList>
<MonitoringObjectId>$MPElement[Name="Views2016!Microsoft.SQLServer.2016.AlwaysOn.AvailabilityReplicaGroup"]$</MonitoringObjectId>
</IncludeList>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Views2016!Microsoft.SQLServer.2016.AlwaysOn.DatabaseReplicaGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Microsoft.SQLServer.2016.AlwaysOn.AlwaysOnHightAvailabilityContainsDatabaseReplicaGroup"]$</RelationshipClass>
<IncludeList>
<MonitoringObjectId>$MPElement[Name="Views2016!Microsoft.SQLServer.2016.AlwaysOn.DatabaseReplicaGroup"]$</MonitoringObjectId>
</IncludeList>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>