Monitors the availability of Domain Controllers in the domain by attempting to bind to every advertising DC. It also binds to the GC port of any advertising DC. This monitor ignores off-line DCs (not responding to ping) and non-advertising DCs.
This monitor verifies that the domain member can bind to the LDAP and GC port of all domain controllers in a domain.
If the DC does not respond to ping or is not advertising it will ignore it and rely on other monitors to determine if that is an issue.
If the DC is advertising it will bind to the LDAP port and if the DC is GC it will bind to the GC port. If a bind fails on any DC the monitor will raise an alert.
IntervalSeconds: How frequently the monitor is run (seconds)
Iterations before Alerting: This is number of times the monitor will retry binding to the DC before failing. Default is 3.
Target Local Site: This configures the script to only test the health of the DC's in the same site as the member. Set this to True if your domain is distributed or larger than 100 domain controllers. The default configuration is False
Possible causes of failures include the following:
The Netlogon Service is not running.
The hard drives on the Domain Controller (DC) may be full, inspect free space on the DC.
The Domain Controller is not healthy and may need to be replaced.
Ensure that the failing Domain Controller(s) are online and functioning correctly.
Target | Microsoft.Windows.Server.AD.DomainMemberPerspective | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.AD.DomainMemberPerspective.Availability.DomainControllerHealth.Monitortype | ||
Remotable | False | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.AD.DomainMemberPerspective.Availability.DomainControllerHealth.Monitor" Accessibility="Public" Enabled="true" Target="AD!Microsoft.Windows.Server.AD.DomainMemberPerspective" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="false" Priority="Normal" TypeID="Microsoft.Windows.AD.DomainMemberPerspective.Availability.DomainControllerHealth.Monitortype" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.AD.DomainMemberPerspective.Availability.DomainControllerHealth.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='ErrorString']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="DomainControllerHealthOK" MonitorTypeStateID="DomainControllerHealthOK" HealthState="Success"/>
<OperationalState ID="DomainControllerHealthError" MonitorTypeStateID="DomainControllerHealthError" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<BindIterations>3</BindIterations>
<TargetLocalSite>False</TargetLocalSite>
</Configuration>
</UnitMonitor>