Monitors the CPU utilization of the dns process.
DNS Process Monitor. The DNS process for Active Directory Domain Services Integrated DNS is consuming a lot of CPU resources.
If the overall CPU utilization on the server is too high, DNS requests may be delayed.
Possible causes include the following:
The domain controller needs resizing.
One or more other domain controllers failed, and their load transferred to this domain controller because it is now the closest available domain controller.
An application is placing a heavy load on the domain controller. This is usually caused by inefficient, CPU-intensive operations such as non-indexed queries.
The domain controller is critically low on memory.
The domain controller is under a denial-of-service attack.
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 hosting DNS.
Target | Microsoft.Windows.Server.2012.AD.DomainController.DNS | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | Custom | ||
Enabled | True | ||
Instance Name | Process | ||
Counter Name | \% Processor Time | ||
Frequency | 300 | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.AverageThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.DNS.Monitor" Accessibility="Public" Enabled="true" Target="AD2012Core!Microsoft.Windows.Server.2012.AD.DomainController.DNS" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.AverageThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.DNS.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data[Default='']/Context/InstanceName$</AlertParameter1>
<AlertParameter2>$Data[Default='']/Context/ObjectName$</AlertParameter2>
<AlertParameter3>$Data[Default='']/Context/CounterName$</AlertParameter3>
<AlertParameter4>$Data[Default='']/Context/Value$</AlertParameter4>
<AlertParameter5>$Data[Default='']/Context/TimeSampled$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="DNSLoadOk" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="DNSLoadError" MonitorTypeStateID="OverThreshold" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Processor Time</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName>dns</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
<Threshold>80</Threshold>
<NumSamples>10</NumSamples>
</Configuration>
</UnitMonitor>