One application has two independent observation paths: health can fail while the metrics scrape succeeds.

Docker health and Prometheus up answer different questions

Docker health state and Prometheus’s up series are observations from different checks. A Compose healthcheck runs a command inside the application container. Prometheus independently scrapes a configured metrics endpoint and records whether that scrape succeeded. The two observations can legitimately disagree because an application may refuse useful work while still serving its metrics, or may serve work while its metrics endpoint is broken. ...

February 21, 2028 · 5 min · XB Field Notes