Skip to main content

Health Monitor HowTo

About

This document provides basic Health Monitor use-cases, and how the feature is configured.

For an overview of all available configuration settings for Health Monitor, refer to the port configuration guide:

Health Monitor utilises port error states when the health of a link is considered to have deteriorated. When the criteria configured with Health Monitor are met, it sets the port to Err-Disabled. For more information regarding port error states, refer to the error state section in the port configuration guide:

Introduction

When individual components degrade over time, small and localized faults may escalate into widespread network disruptions. These kind of faults may not only have a large impact on the whole network, but they can also be very difficult to isolate, and time-consuming to troubleshoot. Health Monitor provides a centralized capability to continuously monitor the health of physical network connections.

Health Monitor offer the ability to track link state changes (UP/DOWN) of a port. If the number of state changes exceed a given threshold during a given time-window, it places the port in Err-Disabled. If a timeout is configured, it will automatically clear the error. If no timeout is given, the error has to be manually cleared.

One example use case for this feature is to configure it on a port that is part of a ring. A faulty SFP or a faulty cable between two devices could potentially disrupt the whole ring. A blocked port may start forwarding if the link between two devices goes down in order to recover. If the link then goes up again, the ring protocol may start forwarding on the link that was down and put the other link in blocking mode. A fault could trigger this kind of reconvergence over and over again, and cause the network to never reach a stable state.

Examples

In this section we show different example use-cases of how one could configure Health Monitor.

Health Monitor with manual recovery

In this example, we configure Health Monitor state-changes with a threshold of 10 and 60 seconds as time-window.

example:/#> configure
example:/config/#> port eth2
example:/config/port-eth2/#> health-monitor
example:/config/port-eth2/health-monitor/#> state-changes threshold 10 window 60
example:/config/port-eth2/health-monitor/#> leave
example:/#>

If Health Monitor observes 10 or more state-changes on port eth2 within 60 seconds, the port will be placed in Err-Disabled. Since we gave no timeout parameter, the error will have to be manually cleared by either port clear-error eth2 or by administratively forcing the port up with port up eth2.

Health Monitor with automatic recovery

Here we configure Health Monitor state-changes with a threshold of 5 and 120 seconds as time-window with a 20 minute timeout.

example:/#> configure
example:/config/#> port eth2
example:/config/port-eth2/#> health-monitor
example:/config/port-eth2/health-monitor/#> state-changes threshold 5 window 120 timeout 20
example:/config/port-eth2/health-monitor/#> leave
example:/#>

If there are 5 or more state-changes on port eth2 within 120 seconds, the port will be placed in Err-Disabled. As we set a 20 minute timeout, the error will be cleared automatically after 20 minutes. It is still possible to manually clear the error state if needed.

Protecting multiple ports

It is possible to configure Health Monitor for multiple ports at once. Here we configure Health Monitor state-changes for the port range eth0..eth7.

example:/#> configure
example:/config/#> port eth0..eth7
example:/config/port-eth0..eth7/#> health-monitor
example:/config/port-eth0..eth7/health-monitor/#> state-changes threshold 5 window 120 timeout 20
example:/config/port-eth0..eth7/health-monitor/#> leave
example:/#>

Verifying if Health Monitor has triggered an error state

To the determine if Health Monitor have placed the port in Err-Disabled or not, we first use show port command in the admin exec context. Any link reporting Err-Disabled indicates that a service has disabled the port.

example:/#> show port
PORT             LINK     TYPE       SPEED  STATE           OWNER/VLAN        
eth1             Down      N/A  ----------  No-Link         vlan U:1
eth2             Down      N/A  ----------  No-Link         vlan U:1
eth3             Down   1000-T  ----------  Err-Disabled    vlan U:1
eth4             Up     1000-T  1000M-Full  Forwarding      vlan U:1
...
example:/#>

To determine the exact cause for the port being rendered Err-Disabled, we can show a detailed view by using show port PORT. This view also display the current configuration for the port.

example:/#> show port eth3
eth3                                                                          
Link           : Down
Oper. status   : Disabled
Admin status   : Enabled
Description    : eth3
Type           : 1000-T
State          : Err-Disabled
...
State Changes  : threshold 5 window 120 timeout 20
Shielded mode  : Unshielded
PHY power mode : Low power (CLASS B)
Bridge group   : Disabled

Error State: Err-Disabled (effective)
STATE             SERVICE          REASON                                     
Err-Disabled      Health Monitor   Excessive link state changes detected

Here we can see that Health Monitor was the service that place the port in Err-Disabled, and that the reason was "Excessive link state changes detected".

Disabling Health Monitor

To disable Health Monitor state-changes you can either do no health-monitor in the port config context or no state-changes in the health-monitor context:

example:/#> configure
example:/config/#> port eth2
example:/config/port-eth2/#> no health-monitor
example:/config/port-eth2/#> leave
example:/#>
example:/#> configure
example:/config/#> port eth2
example:/config/port-eth2/#> health-monitor
example:/config/port-eth2/health-monitor/#> no state-changes
example:/config/port-eth2/health-monitor/#> leave
example:/#>