가용성 그룹 온라인 모니터

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

가용성 그룹 온라인

Knowledge Base article:

요약

이 모니터는 가용성 그룹의 온라인 또는 오프라인 상태를 확인합니다. 가용성 그룹의 클러스터 리소스가 오프라인 상태이거나 가용성 그룹에 주 복제본이 없는 경우 이 모니터가 비정상 상태이며 경고가 발생합니다. 가용성 그룹의 클러스터 리소스가 온라인 상태이고 가용성 그룹에 주 복제본이 있으면 모니터 상태가 정상입니다.

원인

가용성 그룹이 오프라인 상태이고 가용성 그룹을 사용할 수 없습니다. 이 문제는 주 복제본을 호스팅하는 서버 인스턴스의 오류로 인해 발생하거나 WSFC 가용성 그룹 리소스가 오프라인으로 설정되어 발생할 수 있습니다.

해결 방법

재정의 가능한 매개 변수

이름

설명

기본값

사용

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

경고 생성

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

아니요

간격(초)

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

900

정책 이름

 

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

제한 시간(초)

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

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.AvailabilityGroupOnline" 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$-AlwaysOnAgOnlineStateHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth"]/InstanceName$</InstanceName>
</Configuration>
</UnitMonitor>