Failure reasons
The stable failure codes OctoPing assigns to a failed check, their labels and the order in which a failure is classified.
Last reviewed
On this page
When a check fails, OctoPing classifies why. The classification is a stable code plus a readable label, and it appears in down alerts, the site's activity log and the outage list. The code is the part to rely on in your own tooling. The label is wording and can change.
The codes
| Code | Label | Meaning | What produces it |
|---|---|---|---|
timeout | Timeout | The server didn't respond before the request timed out. | A timeout while connecting, writing or waiting for the response. |
dns | DNS resolution failed | The domain name couldn't be resolved to an IP address. | A name resolution error, such as "name or service not known" or no address for the host. |
connection | Connection failed | The connection to the server couldn't be established. | A refused, reset or aborted connection, an unreachable network or no route to the host. |
tls | TLS/SSL error | The secure connection couldn't be negotiated. | A certificate or protocol problem, such as a failed certificate verification, an expired or self-signed certificate, a hostname mismatch or a TLS version error. |
blocked | Blocked | OctoPing refused to send the request. | The address is private or internal, and OctoPing doesn't check those. |
http_client | Client error | The server answered with a failing status below 500. | A status such as 401, 403, 404 or 429. |
http_server | Server error | The server answered with a status of 500 or above. | A status such as 500, 502, 503 or 504. |
unknown | No response | The check failed before any response was received, and nothing more specific was recorded. | A failure with no status code and no recognizable error. |
For the two HTTP codes the label also names the status. A 404 reads Not Found (HTTP 404) and a 503 reads Service Unavailable (HTTP 503). A status without a known name reads, for example, Client error (HTTP 499) or Server error (HTTP 599). A down alert's subject ends with the label, so a reader sees the cause before opening the message. The blocked code reads Blocked by OctoPing in alerts.
How a failure is classified
A check that succeeded has no failure reason. For a failed check, OctoPing looks at three signals in this order and stops at the first that identifies the cause.
| Order | Signal | Codes it can produce |
|---|---|---|
| 1 | The error type recorded by the checker, then the error message | blocked, timeout, dns, tls, connection |
| 2 | The HTTP status code | http_server for 500 and above, http_client for the other failing statuses |
| 3 | Nothing recognizable | unknown |
Transport signals come before the status code, because the checker records a stand-in status for some local failures. A timeout is stored as 408 and a failed connection as 503, and reading those as answers from the server would relabel a local failure as something the server said. Within the transport signals, DNS is read before connection, because a name resolution failure can also look like a connection failure.
Where you see a reason
The failure reason is on the site's detail page, in down alerts and in the activity log. When a site is observed from several vantage points, each vantage point's latest failure carries its own reason, as described on the vantage points page.
Related
- DocsChecks referenceWhat each of the eight checks and heartbeats measures, whether it is on by default, how often it runs and what counts as a failure or a change.
- DocsVantage points and confirmationHow the primary checker and the probe regions confirm a failure, what Partial means and why OctoPing alerts when the probes are silent.
- DocsUptime, downtime and outagesHow uptime percentage, downtime and outage counts are computed, why they don't add up to each other and how maintenance and probe results change them.
- FeatureMulti-region website monitoring that confirms outagesEvery site is checked from a primary checker and from the US, Europe and Asia. A failure only the primary sees shows as partial, with one notice and no false outage.