Windows DNS Server 2016 和 1709+ 缓存限制命中

Microsoft.Windows.DNSServer.2016.Monitor.CacheLimitHit (UnitMonitor)

监视已配置的缓存大小

Knowledge Base article:

摘要

基于事件的监视器,用于监视配置的缓存限制。

原因

警告状态

由 ID 为 7688 的事件触发。原因:DNS 服务器上的缓存大小正接近其配置的限值。递归线程触发了一个事件以在配置的限制范围内减小缓存大小。该系统可能经历了短暂的 CPU 峰值。

临界状态

由 ID 为 7689 的事件触发。原因:DNS 服务器上的缓存大小正接近其配置的限值。超时线程已开始在配置的限制范围内减小缓存大小。该系统可能经历了短暂的 CPU 峰值。

“正常”状态可由 ID 为 7690 的事件触发:DNS 服务器上的缓存大小已减小到其配置的限值范围内。

解决方法

DNS 服务器将自动清理缓存,如果需要,会将缓存清理至配置的限制范围内。用户可能因此经历了 CPU 峰值。如果此错误频繁出现,请检查配置的缓存限制。如果该值对你的部署来说太低,请做相应更改。

Element properties:

TargetMicrosoft.Windows.DNSServer.2016.Server
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.3SingleEventLog3StateUnitMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Windows DNS Server 2016 和 1709+ - 缓存限制命中监视器警报

事件 ID:{0}
事件源:{1}
事件日志:{2}
事件说明:{3}
RunAsMicrosoft.Windows.DNSServer.2016.ActionAccount

Source Code:

<UnitMonitor ID="Microsoft.Windows.DNSServer.2016.Monitor.CacheLimitHit" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.DNSServer.2016.Server" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RunAs="Microsoft.Windows.DNSServer.2016.ActionAccount" TypeID="Windows!Microsoft.Windows.3SingleEventLog3StateUnitMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.DNSServer.2016.Monitor.CacheLimitHit_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/Context/EventSourceName$</AlertParameter2>
<AlertParameter3>$Data/Context/Channel$</AlertParameter3>
<AlertParameter4>$Data/Context/EventDescription$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="WarningState" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="ErrorState" MonitorTypeStateID="SecondEventRaised" HealthState="Error"/>
<OperationalState ID="SuccessState" MonitorTypeStateID="ThirdEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>DNS Server</FirstLogName>
<FirstExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">7688</Value>
</ValueExpression>
</SimpleExpression>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>DNS Server</SecondLogName>
<SecondExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">7689</Value>
</ValueExpression>
</SimpleExpression>
</SecondExpression>
<ThirdComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ThirdComputerName>
<ThirdLogName>DNS Server</ThirdLogName>
<ThirdExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">7690</Value>
</ValueExpression>
</SimpleExpression>
</ThirdExpression>
</Configuration>
</UnitMonitor>