LDAP Bind Time Monitor

Microsoft.Windows.Server.2012.AD.Performance.BindTimes.Monitor (UnitMonitor)

Monitor the ldap bind time of the domain controller.

Knowledge Base article:

Summary

This monitor verifies the availability of Active Directory using an LDAP (Lightweight Directory Access Protocol) request. It periodically binds to the Domain Controller to verify the availability using an LDAP query.

This monitor allows for monitoring of non-SSL, SSL, and both types of bindings.

Configuration

This monitor provides the following on configuration:

IntervalSeconds: How frequently the monitor is run (seconds)

NumSamples: How many times the monitor has to be over the threshold to generate an alert

ThresholdWarnSec: The warning threshold in seconds

ThresholdWarnError: The error threshold in seconds

MonitorBindType: 1) Non-SSL, 2) SSL, 3) Both

Causes

Possible causes include the following:

Resolutions

View the error description in the alert for additional information.

View the overall system performance of the machine to determine if it needs additional resources.

Add additional domain controllers to help load-balance the load.

Ensure that there are a sufficient number of DCs in the active AD sites.

External

Element properties:

TargetMicrosoft.Windows.Server.2012.AD.DomainControllerRole
Parent MonitorMicrosoft.Windows.Server.2012.AD.ResponseMonitors.Performance.AggregateMonitor
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.2012.AD.Performance.BindTimes.Monitortype
RemotableFalse
AccessibilityPublic
Alert Message
The LDAP Bind Time health monitor has exceeded one or more thresholds.
The health monitor script exceeded one or more of the thresholds for the average bind time.
Counter: {0}
Avg Time: {1}
Number of samples: {2}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.2012.AD.Performance.BindTimes.Monitor" Accessibility="Public" Enabled="true" Target="AD2012Core!Microsoft.Windows.Server.2012.AD.DomainControllerRole" ParentMonitorID="Microsoft.Windows.Server.2012.AD.ResponseMonitors.Performance.AggregateMonitor" Remotable="false" Priority="Normal" TypeID="Microsoft.Windows.Server.2012.AD.Performance.BindTimes.Monitortype" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2012.AD.Performance.BindTimes.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data[Default='']/Context/CounterName$</AlertParameter1>
<AlertParameter2>$Data[Default='']/Context/Value$</AlertParameter2>
<AlertParameter3>$Data[Default='']/Context/SampleCount$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ResponseOK" MonitorTypeStateID="ResponseOK" HealthState="Success"/>
<OperationalState ID="ResponseWarn" MonitorTypeStateID="ResponseWarn" HealthState="Warning"/>
<OperationalState ID="ResponseError" MonitorTypeStateID="ResponseError" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<MonitorBindType>1</MonitorBindType>
<ThresholdWarnSec>5</ThresholdWarnSec>
<ThresholdErrorSec>10</ThresholdErrorSec>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>