WSFC 叢集監視器

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

此監視器會查看 Windows Server 容錯移轉叢集 (WSFC) 服務的狀態。當叢集已離線或處於強制仲裁狀態時,監視器會處於狀況不良的狀態並引發警示 (此叢集中裝載的所有可用性群組都已離線,或需要災害復原動作)。當叢集狀態為一般仲裁時,監視器狀態為狀況良好。

Knowledge Base article:

摘要

此監視器會查看 Windows Server 容錯移轉叢集 (WSFC) 服務的狀態。當叢集已離線或處於強制仲裁狀態時,監視器會處於狀況不良的狀態並引發警示 (此叢集中裝載的所有可用性群組都已離線,或需要災害復原動作)。當叢集狀態為一般仲裁時,監視器狀態為狀況良好。

原因

WSFC 叢集已離線,或是服務在強制仲裁狀態下啟動。用戶端應用程式無法使用此可用性群組。

解決方式

您必須透過叢集管理員工具執行強制仲裁或災害復原工作流程,或者連絡叢集管理員以解決叢集問題。如需詳細資訊,請參閱《SQL Server 2012 線上叢書》中的強制仲裁與災害復原使用說明指南。

可覆寫的參數

名稱

描述

預設值

已啟用

 

產生警示

 

間隔 (秒)

執行工作流程的週期性時間間隔 (秒)。

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>