MSSQL : SQL Server Always On High Availability Group Discovery

Microsoft.SQLServer.Generic.Presentation.AlwaysOnGroupsDiscovery (Discovery)

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

Knowledge Base article:

Summary

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

Overrideable Parameters

Name

Description

Default Value

Enabled

 

Yes

Element properties:

TargetMicrosoft.SQLServer.Generic.Presentation.AlwaysOnHighAvailabilityGroup
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.Generic.Presentation.AlwaysOnGroupsDiscovery" Enabled="true" Target="Microsoft.SQLServer.Generic.Presentation.AlwaysOnHighAvailabilityGroup" ConfirmDelivery="true" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="Microsoft.SQLServer.Generic.Presentation.Relationship.AlwaysOnGroups"/>
<DiscoveryRelationship TypeID="Microsoft.SQLServer.Generic.Presentation.Relationship.AlwaysOnReplicas"/>
<DiscoveryRelationship TypeID="Microsoft.SQLServer.Generic.Presentation.Relationship.AlwaysOnDatabaseReplicas"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Microsoft.SQLServer.Generic.Presentation.AlwaysOnAvailabilityGroupsGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Microsoft.SQLServer.Generic.Presentation.Relationship.AlwaysOnGroups"]$</RelationshipClass>
<IncludeList>
<MonitoringObjectId>9D98053C-0DBF-F6D7-D243-A6602D7F8A33</MonitoringObjectId>
</IncludeList>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Microsoft.SQLServer.Generic.Presentation.AlwaysOnAvailabilityReplicasGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Microsoft.SQLServer.Generic.Presentation.Relationship.AlwaysOnReplicas"]$</RelationshipClass>
<IncludeList>
<MonitoringObjectId>5D308794-0E73-073D-14C7-09B022C7FF77</MonitoringObjectId>
</IncludeList>
</MembershipRule>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Microsoft.SQLServer.Generic.Presentation.AlwaysOnDatabaseReplicasGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Microsoft.SQLServer.Generic.Presentation.Relationship.AlwaysOnDatabaseReplicas"]$</RelationshipClass>
<IncludeList>
<MonitoringObjectId>D64DEE6C-B58B-CF71-099B-C8E3B03F0D7D</MonitoringObjectId>
</IncludeList>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>