This article gives an overview of Health Monitors at an MCP 2.0 data center. It describes each of the default Health Monitors available when creating Nodes and Pools. It also describes Node and Pool compatibility.

Content / Solution:

Health Monitors are a component within MCP 2.0 VIPs. For details please refer to Introduction to Virtual Listeners / VIPs in MCP 2.0

Health Monitors are object availability checks used by a load balancer to determine the status of compute resources in a load-balanced configuration.  They are applied to individual Nodes or to Pools of Nodes.

In the case of Nodes, a Health Monitor can determine the state of a Node using a number of methods ranging from an ICMP ping to a generic TCP socket connection to performing an actual HTTP query (usually “/“) and expecting a specific response (usually a 200 OK). Note: Currently, the only Health Monitor available for a Node is ICMP ping.

In the case of a Pool, a Health Monitor determines the state of a Pool by querying the members of the Pool to determine whether the Pool as a whole is available to the Server or VIP that uses the Pool. Health Monitors are used by a Virtual Listener to determine packet flow to the Pool(s) and Node(s) it is configured to use. Each Health Monitor is defined as being Node Compatible and/or Pool Compatible.

When creating a Node, You can choose not to enable a Health Monitor, or you can choose to enable the following Health Monitor:
  • CCDEFAULT.Icmp - This Health Monitor sends an ICMP ECHO request to the Node and considers the Node healthy if an ICMP ECHO reply is received.
When creating a Pool, You can choose not to enable a Health Monitor, or you can choose to enable up to two (2) of the following Health Monitors:
  • CCDEFAULT.Http - The HTTP monitor performs a simple "GET /" on the port specified on the Pool Member and returns successfully if any content is returned
  • CCDEFAULT.Tcp - The default TCP monitor considers a Node healthy if the full TCP handshake can be completed.
  • CCDEFAULT.TcpHalfOpen - A TCP Half Open type of monitor performs a quick check on the associated service by sending a TCP SYN packet to the service. As soon as the monitor receives the SYN-ACK packet from the service, the monitor considers the service to be in an up state, and sends a RESET to the service instead of completing the three-way handshake.
  • CCDEFAULT.Udp - The User Datagram Protocol (UDP) health monitor is designed to work with ICMP Destination Unreachable message responses. When the load balancer sends a UDP health monitor request to the host (pool member) and the host's UDP port is unavailable, the monitored host returns an ICMP port unreachable message in response to the monitor request, and the load balancer immediately marks the resource down. If the monitored host goes down (for example, due to a crash or reboot), the host fails to send the ICMP port unreachable messages back to the load balancer, and the host remains marked up. For this reason, it is recommended that you use the UDP monitor in conjunction with a secondary monitor.

Related articles:

Note for API integrators that the List Default Health Monitors function described in the API 2 documentation includes compatibility information for Nodes and Pools. Note that the set of Health Monitors is subject to change over time.