Check upstream target health
check_upstream_healthCheck Kong's health verdict for each upstream target to diagnose 503 errors and see if the backend pool can serve traffic. Reports HEALTHY, UNHEALTHY, DNS_ERROR, or HEALTHCHECKS_OFF.
Instructions
Reports Kong's own health verdict for each target of an upstream.
USE WHEN: a route returns 503, or you have ruled out authentication and routing and need to
know whether the backend pool is actually serving. Reach this tool from a service whose
host names a Kong upstream.
CRITICAL DISTINCTION between the verdicts this returns: HEALTHY probed and responding UNHEALTHY address is correct, backend is failing -> availability problem DNS_ERROR address cannot be resolved -> configuration problem HEALTHCHECKS_OFF Kong is not probing at all -> health is UNKNOWN, not healthy
Do not read HEALTHCHECKS_OFF as "fine". It means no information.
RETURNS: targets each with target, health, weight and a meaning line; plus
healthchecksEnabled, verdict and canServeTraffic.
LIMITATIONS: reports the gateway's view only, and that view is only as fresh as Kong's last probe or proxied request for this upstream. A freshly created or rebuilt target is reported HEALTHY before the first probe runs, and an idle upstream can show a stale HEALTHY for a target that is actually down. If a HEALTHY verdict contradicts other evidence (e.g. 503s), say so rather than treating it as proof the backend is up.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| upstream | Yes | Upstream name, id, or `upstream:<name>` reference. When a service's `host` field names a Kong upstream, pass that host value here. |