NLB state

AP.Remote.Access.Monitor.RA_NLB_HEURISTIC_STATE (UnitMonitor)

The cluster state on this server is stopped, suspended, draining or converging.

Knowledge Base article:

Summary

The cluster state on this server is stopped, suspended, draining or converging.

Causes

If the cluster state is stopped, draining, or suspended, the following might have occurred:

1. The IP-HTTPS and network location server certificates on the server do not match the certificates on the other cluster servers.

2. One or more DirectAccess settings were not configured successfully on this server.

3. NLB has been stopped manually on this server.

If the cluster state is converging, and has been for some time, either the external adapter on one of the cluster servers is disabled, or cluster settings do not match on all cluster servers.

Resolutions

To retrieve information about NLB state, from the PowerShell prompt run:

Import-module remoteaccess

Get-RemoteAccessLoadBalancer

If the cluster state is stopped or draining or suspended, do the following:

1. If NLB has been stopped manually on this server, start it from NLB Manager.

2. Ensure that the IP-HTTPS and network location server certificates on this server match the certificates on the other cluster servers. If they do, at the command prompt, type gpupdate /force to update group policy on this server.

3. If the actions are not successful, remove the server from the cluster, and then re-add it.

If the cluster state is converging for some time

1. If the external adapter on one of the cluster servers is disabled, enable the adapter. Alternatively, to put the server in a stopped state, disable the internal adapter in addition to the external adapter.

2. If the external adapter on each cluster server is enabled, ensure that cluster settings match on all cluster servers.

3. If the actions are not successful, remove the server from the cluster, and then re-add it.

Element properties:

TargetAP.Remote.Access.Class.HighAvailability
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeAP.Remote.Access.Monitor.HeuristicMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
NLB Unavailable

Error Description - {0}
Error Cause - {1}
Error Resolution - {2}
RunAsDefault

Source Code:

<UnitMonitor ID="AP.Remote.Access.Monitor.RA_NLB_HEURISTIC_STATE" Accessibility="Public" Enabled="true" Target="AP.Remote.Access.Class.HighAvailability" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="AP.Remote.Access.Monitor.HeuristicMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="AP.Remote.Access.Monitor.RA_NLB_HEURISTIC_STATE_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/DataItem/Property[@Name='ErrorDesc']$</AlertParameter1>
<AlertParameter2>$Data/Context/DataItem/Property[@Name='ErrorCause']$</AlertParameter2>
<AlertParameter3>$Data/Context/DataItem/Property[@Name='ErrorResolution']$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RA_NLB_HEURISTIC_STATE_Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="RA_NLB_HEURISTIC_STATE_Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="RA_NLB_HEURISTIC_STATE_Success" MonitorTypeStateID="Healthy" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Interval>300</Interval>
<SyncTime/>
<ComponentName>High Availability</ComponentName>
<HeuristicId>2148401155</HeuristicId>
<Debug>false</Debug>
</Configuration>
</UnitMonitor>