NLB ノードが負荷分散アプリケーションに依存

Microsoft.Windows.NetworkLoadBalancing.ServerRoleDependsOnAnotherServerRole (DependencyMonitor)

Knowledge Base article:

概要

これは、負荷分散アプリケーションの状態をロールアップする依存関係ロールアップ モニターであり、対応する管理パックからレポートされるものです。NLB ノードと負荷分散アプリケーションとの間の関係が検出されるまで、このモニターの状態は監視対象外に設定されます。

この回復に関連付けられている回復処理は 2 つあり、どちらも既定では無効になっていますので、有効にするには上書きする必要があります。最初の回復処理は、モニター状態が「エラー」に変化したとき実行されるよう構成されています。この回復処理が実行されると、NLB クラスターから NLB ノードが取り出されます。2 つ目の回復処理は、モニター状態が「成功」に変化したとき実行されるよう構成されています。この回復処理が実行されると、元の 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>