Skip to content
Glowo
Esc
navigateopen⌘Jpreview
On this page

gRPC monitors

Check a gRPC endpoint via the standard health protocol, or just prove it speaks gRPC.

A gRPC monitor connects to a host and port and, by default, calls the standard gRPC Health Checking Protocol (grpc.health.v1.Health/Check). The monitor is UP only when the server answers SERVING.

Configuration

Setting Allowed values Required
host hostname or IP, up to 255 characters yes
port 1–65535 yes
checkMode health (default) or connectivity no
serviceName service to ask the health service about; empty means overall server health no
plaintext true to connect without TLS — default is false (TLS on) no
skipTlsVerification true to accept self-signed or mismatched certificates no

Health mode

The default. Glowo issues one Health/Check RPC per check:

  • SERVINGUP
  • NOT_SERVINGDOWN — the server is reachable but declares itself unhealthy
  • an unknown serviceNameDOWN with GRPC_HEALTH_UNKNOWN_SERVICE
  • a server that does not implement the health service → DOWN with GRPC_HEALTH_UNIMPLEMENTED

That last case is deliberate: the monitor never silently falls back to a connectivity check. If a deploy removed the health service, “UP” would quietly stop meaning “the app says it is healthy” — exactly the drift a monitor exists to catch. If your server does not expose grpc.health.v1, switch the monitor to connectivity mode instead.

Leave serviceName empty to ask about the server as a whole; set it (for example payments.v1.PaymentService) to track one service’s own status.

Connectivity mode

For servers without the health service. Glowo drives the connection to ready — TCP connect, TLS handshake, HTTP/2 setup — and stops there. No RPC is made, so nothing needs to be implemented server-side. UP means “this endpoint speaks gRPC”, not “the application is healthy”.

TLS

TLS is on by default, and certificate expiry and issuer are captured on every check, so the monitor’s certificate card and expiry warnings work exactly as they do for HTTPS monitors. Set plaintext: true for servers listening without TLS (common inside private networks), or skipTlsVerification: true to monitor an endpoint with a self-signed certificate — expiry is still captured either way TLS is used.

Timeouts

The shared timeout covers the whole check: connection, TLS handshake, and — in health mode — the RPC round trip.

Was this page helpful?