Skip to main content

Overview

Health monitors continuously probe pool members and automatically remove unhealthy instances from rotation. When a member fails the configured number of consecutive probes, it is marked OFFLINE and receives no traffic until it recovers. This guide covers all supported monitor types, their configuration parameters, and best practices for different application types.
Prerequisites
  • An active Xloud account with appropriate permissions
  • Access to the Xloud Dashboard (https://connect.<your-domain>) or CLI configured with credentials
  • API credentials sourced (source admin-openrc.sh)

Supported Monitor Types

TypeProtocolUse Case
TCPLayer 4 connection checkAny TCP service — databases, custom protocols
HTTPGET request + response code checkWeb applications and REST APIs
HTTPSEncrypted GET request checkHTTPS backends requiring secure probes
PINGICMP echoBasic host reachability test
UDP-CONNECTUDP connection checkUDP-based services
TLS-HELLOTLS handshake checkVerify TLS is functional without full HTTPS probe

Configuration Parameters

ParameterDescriptionRecommended
DelaySeconds between consecutive probes5–10
TimeoutSeconds to wait for probe response before counting as failed3–5
Max RetriesConsecutive failures before marking member DOWN3
Max Retries DownConsecutive successes before restoring a DOWN member to ONLINE3
URL PathPath for HTTP/HTTPS monitors (must return expected code)/health
Expected CodesComma-separated HTTP status codes accepted as healthy200
Set Delay to at least twice the Timeout value to prevent overlapping probes during slow response periods. For example: Delay=10, Timeout=5.

Create a Health Monitor

Navigate to pool health monitor

Open your load balancer, select the Pools tab, and click the pool name. Select the Health Monitor sub-tab. Click Create Health Monitor.

Select monitor type

Select the type that matches your backend service. HTTP is appropriate for web applications; TCP is appropriate for databases and custom protocols.

Set timing parameters

FieldRecommended Value
Delay10
Timeout5
Max Retries3
For HTTP monitors, set URL Path to a dedicated health endpoint (e.g., /health)
that returns HTTP 200 only when the application is fully ready.

Confirm creation

Health monitor is ACTIVE. View member operating status to verify probes are running.

View Member Health Status

After creating a health monitor, verify members are being probed and showing the correct operating status:
List member operating status
openstack loadbalancer member list pool-http \
  -c name -c address -c operating_status
Expected healthy output:
+--------+-------------+------------------+
| name   | address     | operating_status |
+--------+-------------+------------------+
| web-01 | 192.168.1.5 | ONLINE           |
| web-02 | 192.168.1.6 | ONLINE           |
+--------+-------------+------------------+
All members show ONLINE operating status — they are healthy and receiving traffic.

Manage Health Monitors

openstack loadbalancer healthmonitor show hm-http

Health Check Endpoint Design

For HTTP health monitors, implement a dedicated /health endpoint in your application:

What a health endpoint should check

A good health endpoint verifies that all critical dependencies are available:
  • Database connection is alive
  • Cache layer (Redis, Memcached) is reachable
  • Required configuration is loaded
  • Application can accept requests (not in restart/initialization state)
Return HTTP 200 only when all checks pass. Return HTTP 503 when any dependency is unavailable.
  • Do NOT make the health endpoint expensive (no full DB queries)
  • Do NOT require authentication (health probes run without credentials)
  • Do NOT check external dependencies not under your control (external APIs, third-party services)
  • Do NOT return 200 during graceful shutdown — return 503 to drain traffic before stopping

Next Steps

Pools

Manage the pools that health monitors are attached to.

Troubleshooting

Resolve OFFLINE member status and health probe failures.

Create Load Balancer

Create a complete load balancer setup with health monitoring from scratch.

Listeners

Configure the protocol and ports that route traffic to your pools.