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

CodeLabelMeaningWhat produces it
timeoutTimeoutThe server didn't respond before the request timed out.A timeout while connecting, writing or waiting for the response.
dnsDNS resolution failedThe 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.
connectionConnection failedThe connection to the server couldn't be established.A refused, reset or aborted connection, an unreachable network or no route to the host.
tlsTLS/SSL errorThe 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.
blockedBlockedOctoPing refused to send the request.The address is private or internal, and OctoPing doesn't check those.
http_clientClient errorThe server answered with a failing status below 500.A status such as 401, 403, 404 or 429.
http_serverServer errorThe server answered with a status of 500 or above.A status such as 500, 502, 503 or 504.
unknownNo responseThe 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.

OrderSignalCodes it can produce
1The error type recorded by the checker, then the error messageblocked, timeout, dns, tls, connection
2The HTTP status codehttp_server for 500 and above, http_client for the other failing statuses
3Nothing recognizableunknown

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.