Skip to content
Glowo
Esc
navigateopen⌘Jpreview
On this page

Check error reference

Every failure code a Glowo check can report, what it means, and what to do about it.

When a check fails, the heartbeat records a code explaining why. This page lists all 36 of them.

The codes fall into two families, and telling them apart saves a lot of time:

  • Configuration errors mean the monitor is wrong. Glowo never even got to make the request. Fix the monitor.
  • Everything else means the request happened and something went wrong. Fix the service, the network, or the certificate.

Configuration

Code What it means
INVALID_CONFIG The monitor configuration is malformed and could not be parsed. Please review the monitor settings.
INVALID_SCHEME The monitor URL uses a scheme that is not allowed. Only http, https, ws, and wss are supported.
MISSING_URL No URL was provided for this monitor. A valid URL is required to perform the check.
MISSING_HOST No hostname was provided for this monitor. A valid host is required to perform the check.
MISSING_PORT No port was specified for this monitor. A valid port number is required for TCP connections.
TARGET_BLOCKED The target resolves to a private, loopback, or cloud-metadata address. Public hosts only — internal targets are blocked for security.
PAYLOAD_TOO_LARGE The configured request body exceeds the 1 MiB limit. Reduce the body size or split the payload.

Network and connection

Code What it means
CONNECTION_CLOSED The remote server closed the connection before sending a complete response. This typically indicates the server dropped the connection unexpectedly.
CONNECTION_REFUSED The connection was actively refused by the target host. The server may be down, the port may be closed, or a firewall is blocking the request.
CONNECTION_TIMEOUT The connection attempt timed out before a response was received. The server may be unreachable or experiencing high latency.
REQUEST_TIMEOUT The request exceeded the configured timeout limit. The server took too long to respond.
REQUEST_CANCELED The check was cancelled before completing — typically because the checker is shutting down. The next run will retry.
DNS_LOOKUP_FAILED DNS resolution failed for the target hostname. The domain may not exist, or the DNS server is unreachable.
NETWORK_ERROR A network-level error occurred while attempting to reach the target. Check that the host is accessible and no infrastructure issues are present.
REDIRECT_LIMIT The request exceeded the maximum number of allowed redirects. This may indicate a redirect loop on the target server.

TLS

Code What it means
TLS_HANDSHAKE_FAILED The TLS/SSL handshake could not be completed. The server may not support HTTPS, or there is a protocol version mismatch.
TLS_CERT_ERROR The server’s TLS certificate is invalid. It may be self-signed, expired, or issued for a different domain.
TLS_CERT_EXPIRED The server’s TLS certificate has expired and is no longer valid. The certificate must be renewed.
TLS_NO_CERTIFICATES The server did not present any TLS certificates during the handshake. Verify that TLS is correctly configured on the target.

HTTP

Code What it means
REQUEST_BUILD_ERROR The HTTP request could not be constructed. The URL or request parameters may be malformed.
UNEXPECTED_STATUS The server returned an HTTP status code outside the expected range. Review the expected status codes in the monitor configuration.
BODY_MISMATCH The response body did not match the configured assertion. The expected content was not found in the response.
BODY_SCHEMA_MISMATCH The response body did not conform to the configured JSON Schema. The response structure differs from the expected schema.

DNS

Code What it means
DNS_UNSUPPORTED_TYPE The specified DNS record type is not supported. Use a standard type such as A, AAAA, CNAME, MX, TXT, NS, or SRV.
DNS_QUERY_FAILED The DNS query could not be executed. The nameserver may be unreachable or the query timed out.
DNS_RCODE_ERROR The DNS server returned an error response code. The domain may not exist (NXDOMAIN) or the server encountered an internal failure.
DNS_NO_RECORDS The DNS query succeeded but returned no records for the requested type. The record may not be configured on the domain.
DNS_VALUE_MISMATCH The DNS records returned do not match the expected value configured in the monitor. The DNS configuration may have changed.

WebSocket

Code What it means
WS_SEND_FAILED Failed to send a message over the WebSocket connection. The connection may have been interrupted after the handshake.
WS_RECV_FAILED Failed to receive a message from the WebSocket server. The server may not have responded, or the connection was dropped.
WS_MESSAGE_MISMATCH The WebSocket response did not contain the expected message content. The server may have returned unexpected data.

gRPC

Code What it means
GRPC_UNAVAILABLE The gRPC endpoint is unavailable. The server may be down, restarting, or unreachable over HTTP/2.
GRPC_HEALTH_NOT_SERVING The gRPC health service reported NOT_SERVING. The server is reachable but declares itself unhealthy.
GRPC_HEALTH_UNKNOWN_SERVICE The gRPC health service does not know the requested service name. Verify the service name, or leave it empty to check overall server health.
GRPC_HEALTH_UNIMPLEMENTED The server does not expose the standard gRPC health service (grpc.health.v1). Switch the monitor’s check mode to connectivity to monitor this endpoint.
GRPC_ERROR The gRPC health check failed with an unexpected status. Review the detailed error message for the status code returned by the server.

Ping (ICMP)

Code What it means
ICMP_RESOLVE_FAILED Could not resolve the hostname to an IP address for the requested protocol version. Verify the host and IP version settings.
ICMP_LISTEN_FAILED Failed to open a socket for ICMP communication. Ensure the host kernel allows unprivileged ICMP (sysctl net.ipv4.ping_group_range).
ICMP_SEND_FAILED Failed to send the ICMP echo request packet. A network-level error prevented the packet from being transmitted.
ICMP_RECV_FAILED No ICMP echo reply was received within the timeout period. The host may be unreachable, or ICMP is blocked by a firewall.

Other

Code What it means
UNKNOWN_ERROR An unexpected error occurred during the check. Review the detailed error message for additional context.

The three you will actually see most

TARGET_BLOCKED — the target resolved to a private, loopback, or cloud-metadata address. This is a deliberate security boundary, not a bug: Glowo will not be used to probe internal networks. To watch something that is only reachable privately, use a push monitor driven from inside that network.

TLS_CERT_EXPIRED — almost always an automated renewal that stopped working weeks ago and went unnoticed. Check the renewal job itself, not just the certificate.

UNEXPECTED_STATUS — often the monitor is wrong rather than the service. An endpoint that legitimately returns 401 or 403 to an unauthenticated probe needs those codes listed in expectedStatusCodes on the HTTP monitor.

Reading a failure properly

  1. Check whether all regions failed. One region failing while seven succeed is a network path problem, not an outage. See Regions.
  2. Open the heartbeat. It carries the code, the message, and the timing breakdown — DNS, connect, TLS and total.
  3. Compare against the last success. A latency cliff before the failure points at resource exhaustion; an instant failure points at something refusing connections.

Was this page helpful?