WSFC 클러스터 모니터

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

Knowledge Base article:

요약

이 모니터는 WSFC(Windows Server 장애 조치(Failover) 클러스터) 서비스의 상태를 확인합니다. 클러스터가 오프라인 상태이거나 쿼럼 강제 상태인 경우 이 모니터는 비정상 상태이며 경고가 발생합니다. 이 클러스터 내에서 호스팅되는 모든 가용성 그룹이 오프라인 상태이거나 재해 복구 동작이 필요합니다. 모니터 상태는 클러스터가 정상 쿼럼 상태인 경우 정상입니다.

원인

WSFC 클러스터가 오프라인 상태이거나 서비스가 쿼럼 강제 상태에서 시작되었습니다. 이 가용성 그룹은 클라이언트 응용 프로그램에 사용할 수 없습니다.

해결 방법

클러스터 관리자 도구를 통해 강제 쿼럼 또는 재해 복구 워크플로를 수행하거나, 클러스터 관리자에게 문의하여 클러스터 문제를 해결해야 합니다. 자세한 내용은 SQL Server 2012 온라인 설명서에서 강제 쿼럼 및 재해 복구 방법 가이드를 참조하십시오.

재정의 가능한 매개 변수

이름

설명

기본값

사용

워크플로를 사용하거나 사용하지 않도록 설정합니다.

경고 생성

워크플로가 알림을 생성하는지를 정의합니다.

아니요

간격(초)

워크플로를 실행하는 반복 시간 간격(초)입니다.

900

정책 이름

 

$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth"]/AvailabilityGroupName$-AlwaysOnAgWSFClusterHealthPolicy

제한 시간(초)

워크플로가 닫히고 실패한 항목으로 표시될 때까지 실행이 허용되는 시간을 지정합니다.

300

Element properties:

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

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.ClusterStateMonitor" RunAs="Microsoft.SQLServer.2012.AlwaysOn.MonitoringAccount" TypeID="Microsoft.SQLServer.2012.AlwaysOn.SystemPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.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.2012.AlwaysOn.AvailabilityGroupHealth"]/AvailabilityGroupName$-AlwaysOnAgWSFClusterHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth"]/InstanceName$</InstanceName>
</Configuration>
</UnitMonitor>