Open the zone → Health Checks tab in my.cubepath.com.
A health check probes one record's target and pulls its IP out of DNS when it stops responding, putting it back automatically when it recovers. That's the whole feature: no dashboard to watch, no alert to act on — the dead address simply stops being handed out.
NoteHealth checks work on A and AAAA records only, one check per record. Failover works by dropping a dead address from the answer set, which only makes sense when the record's value is an address you can probe. They're also a Pro/Business feature; a Free zone shows an upgrade notice instead of the tab's contents.
Add a check
- 1Click Add health checkThe record picker lists the A and AAAA records that don't have a check yet.
- 2Name itSomething you'll recognise in the list:
api uptime,eu-west edge. - 3Choose the typeHTTPS (the default), HTTP, TCP or PING.
- 4Tune the timingsInterval, timeout and the two thresholds. The defaults are sensible; read the table below before changing them.
- 5SaveThe check starts probing immediately and reports unknown until it has enough results.
Settings
| Setting | Default | Range | Notes |
|---|---|---|---|
| Target | The record's own value | — | A bare host or IP: no scheme, no path, no spaces. Override only to probe a different endpoint |
| Port | — | 1–65535 | Required for TCP, optional for HTTP/HTTPS |
| Path | / | — | HTTP/HTTPS only, must start with / |
| Expected status | 200 | 100–599 | HTTP/HTTPS only. Anything else counts as a failure |
| Interval | 60 s | 10–3600 | How often we probe |
| Timeout | 5 s | 1–60 | Keep it well below the interval |
| Healthy after | 2 | 1–10 | Consecutive successes before the IP returns to DNS |
| Unhealthy after | 3 | 1–10 | Consecutive failures before it's pulled |
| Enabled | On | — | Turn a check off without deleting it. Billing stops while it's off |
Choosing a check type
- HTTPS/HTTP with a path is the only type that tells you the application is alive. Point it at a real health endpoint that touches what matters — if
/healthreturns 200 while the database is down, the check is lying to you. - TCP proves a port accepts connections. Right for databases, message brokers and anything that isn't HTTP.
- PING proves the host answers ICMP. It's the weakest signal: a machine can ping perfectly while every service on it is dead. Use it when nothing else is available.
Statuses
A check reports healthy (its IP is being served), unhealthy (it failed enough times in a row, its IP is not being served) or unknown (created too recently to have run enough probes). A disabled check shows as Disabled and doesn't affect DNS at all.
The list shows each check next to its record, the record's value and region, the target being probed and the interval — which is the view you want when several regional records each have their own check.
How fast failover actually is
Two delays add up, and only one of them is ours:
- Detection:
unhealthy after×interval. With the defaults, three failures at 60 seconds is up to three minutes. - Propagation: the record's TTL, because resolvers keep serving the answer they cached regardless of what we know.
TipKeep the TTL at 30–60 seconds on any record with a health check, and don't set the interval far below the TTL — probing every 10 seconds while resolvers cache for an hour buys you nothing. See Records for TTL guidance.
Tightening the thresholds cuts detection time but makes the check twitchier: unhealthy after 1 will pull a server out of rotation over a single dropped packet. Two or three failures is the usual compromise.
Billing
Each health check is $10/month, prorated. Billing stops the moment you disable or delete it — deleting asks for confirmation and takes effect immediately.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| The tab shows an upgrade notice | The zone is on the Free plan; health checks need Pro or Business |
| The record isn't in the picker | It isn't an A/AAAA record, or it already has a check |
| "A TCP check requires a port" | Add the port |
| Target rejected | The target must be a bare host or IP — strip https://, the path and any spaces |
| "Path must start with '/'" | Add the leading slash |
| Status stuck on unknown | Not enough probes have run yet; give it a few intervals |
| Unhealthy but the server is fine | The probe doesn't get through: a firewall blocking our probes, ICMP dropped, or an HTTP endpoint that returns something other than the expected status |
| The dead IP is still being served | Detection plus TTL hasn't elapsed yet, or the record's TTL is too high |
For the wider picture of routing between regions and failing over inside them, see GeoDNS.