부하 분산된 응용 프로그램에 종속된 NLB 노드

Microsoft.Windows.NetworkLoadBalancing.ServerRoleDependsOnAnotherServerRole (DependencyMonitor)

Knowledge Base article:

요약

부하 분산된 응용 프로그램의 상태를 해당 관리 팩에서 보고하는 대로 롤업하는 종속성 롤업 모니터입니다. NLB 노드와 부하 분산된 응용 프로그램 간의 관계가 검색될 때까지 모니터 상태는 모니터링되지 않음으로 설정됩니다.

이 모니터에는 기본적으로 사용하지 않도록 설정된 두 가지 복구가 있습니다. 이 복구를 사용하도록 설정하려면 재정의를 만들어야 합니다. 첫 번째 복구는 모니터 상태가 오류로 변경될 때 실행되도록 구성되어 있습니다. 이 상황이 발생하면 NLB 클러스터에서 NLB 노드를 제거하는 복구 작업이 실행됩니다. 두 번째 복구는 모니터 상태가 성공으로 변경될 때 실행되도록 구성되어 있습니다. 이 상황이 발생하면 NLB 클러스터에 NLB 노드를 다시 추가하는 복구 작업이 실행됩니다.

원인

부하 분산된 응용 프로그램이 오류 상태가 되면 이 모니터가 오류 상태로 전환됩니다.

해결 방법

상태 탐색기를 사용하여 부하 분산된 응용 프로그램이 오류 또는 경고 상태인 근본 원인을 확인하십시오. 부하 분산된 응용 프로그램 문제를 해결하는 동안 이 노드를 NLB 클러스터에서 제거하는 것이 좋습니다. 이렇게 하면 비정상 상태의 노드에만 요청이 수신됩니다. NLB 노드 중지 작업을 사용하여 클러스터에서 NLB 노드를 제거할 수 있습니다.

NLB 노드 중지

Element properties:

TargetMicrosoft.Windows.NetworkLoadBalancing.ServerRole
Parent MonitorSystem.Health.AvailabilityState
AlgorithmWorstOf
Source MonitorSystem.Health.AvailabilityState
RelationshipMicrosoft.Windows.NetworkLoadBalancing.ServerRoleContainsDependantServerRole
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
부하 분산된 응용 프로그램이 비정상 상태임
{0}에서 실행 중인 부하 분산된 응용 프로그램이 비정상 상태입니다. NLB 노드는 IP가 {1}인 클러스터에 속합니다.

Source Code:

<DependencyMonitor ID="Microsoft.Windows.NetworkLoadBalancing.ServerRoleDependsOnAnotherServerRole" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.NetworkLoadBalancing.ServerRole" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Microsoft.Windows.NetworkLoadBalancing.ServerRoleContainsDependantServerRole" MemberMonitor="Health!System.Health.AvailabilityState">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.NetworkLoadBalancing.ServerRoleDependsOnAnotherServerRole_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Microsoft.Windows.NetworkLoadBalancing.ServerRole"]/ClusterIP$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>