WSFC 群集监视器

Microsoft.SQLServer.2014.AlwaysOn.ClusterStateMonitor (UnitMonitor)

此监视器将检查 Windows Server 故障转移群集 (WSFC) 服务的状态。当群集处于脱机状态或强制仲裁状态时,监视器无法正常运行,且会引发警报。(此群集中承载的所有可用性组均处于脱机状态或者需要灾难恢复操作。)当群集状态为正常仲裁时,监视器状态正常。

Knowledge Base article:

摘要

此监视器将检查 Windows Server 故障转移群集 (WSFC) 服务的状态。当群集处于脱机状态或强制仲裁状态时,监视器无法正常运行,且会引发警报。(此群集中承载的所有可用性组均处于脱机状态或者需要灾难恢复操作。)当群集状态为正常仲裁时,监视器状态正常。

原因

WSFC 群集处于脱机状态或者服务在强制仲裁状态下启动。该可用性组不可用于客户端应用程序。

解决方法

您需要通过群集管理员工具执行强制仲裁或灾难恢复工作流,或者与群集管理员联系以便解决群集问题。有关详细信息,请参阅 SQL Server 2014 联机丛书中的强制仲裁和灾难恢复操作指南。

可替代参数

名称

说明

默认值

已启用

启用或禁用工作流。

生成警报

定义工作流是否生成警报。

间隔(秒)

运行工作流的重复间隔时间(秒)。

900

超时(秒)

指定允许工作流在被关闭并标记为失败之前运行的时间。

300

Element properties:

TargetMicrosoft.SQLServer.2014.AlwaysOn.AvailabilityGroupHealth
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
Monitor TypeMicrosoft.SQLServer.2014.AlwaysOn.SystemPolicyScriptMonitorType
RemotableTrue
AccessibilityPublic
RunAsMicrosoft.SQLServer.2014.AlwaysOn.MonitoringAccount

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.AlwaysOn.ClusterStateMonitor" RunAs="Microsoft.SQLServer.2014.AlwaysOn.MonitoringAccount" TypeID="Microsoft.SQLServer.2014.AlwaysOn.SystemPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.AvailabilityGroupHealth" Priority="Normal">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Error"/>
</OperationalStates>
<Configuration>
<Interval>900</Interval>
<TimeoutSeconds>300</TimeoutSeconds>
<PolicyName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.AvailabilityGroupHealth"]/AvailabilityGroupName$-AlwaysOnAgWSFClusterHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.AvailabilityGroupHealth"]/InstanceName$</InstanceName>
</Configuration>
</UnitMonitor>