Global Catalog Availability Monitor

Microsoft.Windows.AD.DomainMemberPerspective.Availability.GlobalCatalog.Monitor (UnitMonitor)

Monitors the number of available global catalogs is higher than the specified threshold.

Knowledge Base article:

Summary

Global Catalog Availability Monitor. This monitor checks from a domain member perspective how many Global Catalog Domain Controllers are available. If the number is below one of the specified thresholds, an alert is raised

Configuration

Causes

There are not enough global catalogs available.

Resolutions

Review your AD topology and designate more Global Catalog DCs, or change the minimum number of required GCs for your environment.

Element properties:

TargetMicrosoft.Windows.Server.AD.DomainMemberPerspective
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.AD.DomainMemberPerspective.Availability.GlobalCatalog.Monitortype
RemotableFalse
AccessibilityPublic
Alert Message
The number of available Global Catalogs has exceeded one or more thresholds.
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.AD.DomainMemberPerspective.Availability.GlobalCatalog.Monitor" Target="AD!Microsoft.Windows.Server.AD.DomainMemberPerspective" TypeID="Microsoft.Windows.AD.DomainMemberPerspective.Availability.GlobalCatalog.Monitortype" Accessibility="Public" Enabled="true" Remotable="false" ParentMonitorID="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.AD.DomainMemberPerspective.Availability.GlobalCatalog.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='ErrorString']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="GCAvailOK" ID="GCAvailOK"/>
<OperationalState HealthState="Warning" MonitorTypeStateID="GCAvailWarn" ID="GCAvailWarn"/>
<OperationalState HealthState="Error" MonitorTypeStateID="GCAvailError" ID="GCAvailError"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ErrorThreshold>3</ErrorThreshold>
<WarnThreshold>5</WarnThreshold>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>