Windows 2016 和 1709+ DNS SEC - 名称解析查询错误监视器

Microsoft.Windows.DNSServer.2016.Monitor.DNSSEC.NameResolutionQueriesErrors (UnitMonitor)

此监视器检查 Windows Server 2016 和 1709+ 计算机中名称解析查询的性能数据。

Knowledge Base article:

摘要

此监视器会使用 Powershell commandlet 在 Windows Server 2016 和 1709+ 计算机中检查区域的名称解析查询错误

配置

警告查询失败阈值:状态更改为“警告”前的最小查询失败错误数(如 SERV_FAIL)。

错误查询失败阈值:状态更改为“错误”前的最大查询失败错误数(如 SERV_FAIL)。

警告查询名称错误阈值:状态更改为“警告”前的最小查询名称错误数。

错误查询名称错误阈值:状态更改为“错误”前的最大查询名称错误数。

间隔(秒):应对值进行检查的频率(秒)。

同步时间:模块执行的同步时间。

超时(秒):等待模块完成执行的时间(秒)。

原因

错误状态:

{名称解析查询失败数 >“错误查询失败阈值”}或者

{名称错误数 <“错误查询名称错误阈值”}

警告状态:

{“警告查询失败阈值”< 名称解析查询失败数 <“错误查询失败阈值”}或者

{“警告查询名称错误阈值”< 名称错误数 <“错误查询名称错误阈值”}

成功状态:

{已接收查询 = 已响应查询}并且

{名称解析查询失败数 >“警告查询失败阈值”}和

{名称错误数 <“警告查询名称错误阈值”}

解决方法

检查 DNS 服务器统计信息以深入了解错误和 NXDomain 响应。你还可以看到 DNS 分析日志,并检查查询中是否存在导致错误和 NXDomain 的模式。这些可能是可导致拒绝服务的生日攻击或 DNS 放大攻击的症状。同时检查相关区域是否处于正常状态。

Element properties:

TargetMicrosoft.Windows.DNSServer.2016.Zone
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.DNSServer.2016.NameResolutionQueries.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Windows 2016 和 1709+ DNS SEC - 区域名称解析查询错误率高
服务器 {1} 中区域 {0} 的名称解析查询错误大于定义的阈值。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.DNSServer.2016.Monitor.DNSSEC.NameResolutionQueriesErrors" Accessibility="Public" Enabled="false" Target="Microsoft.Windows.DNSServer.2016.Zone" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.DNSServer.2016.NameResolutionQueries.MonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.DNSServer.2016.Monitor.DNSSEC.NameResolutionQueriesErrors.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Microsoft.Windows.DNSServer.2016.Zone"]/ZoneName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ErrorState" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="WarningState" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="SuccessState" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ZoneName>$Target/Property[Type="Microsoft.Windows.DNSServer.2016.Zone"]/ZoneName$</ZoneName>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<WarningQueryFailureThreshold>0</WarningQueryFailureThreshold>
<ErrorQueryFailureThreshold>10</ErrorQueryFailureThreshold>
<WarningQueryNameFailureThreshold>0</WarningQueryNameFailureThreshold>
<ErrorQueryNameFailureThreshold>10</ErrorQueryNameFailureThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>