Reporting whether a system works.
WHAT A HEALTH CHECK IS
An endpoint reporting whether the application is functioning.
WHAT IT SHOULD CHECK
That the application responds That the database is reachable That essential services respond
WHAT IT SHOULD NOT DO
Perform expensive work Check things whose failure does not warrant taking the system out of service
WHY THAT SECOND POINT
A check failing on a non-essential service takes down a working system.
WHAT TO DISTINGUISH
Whether the application is alive Whether it is ready to serve traffic
WHY
A starting application is alive but not ready.
WHAT TO RETURN
A clear status, and detail about what failed.
WHAT TO SECURE
Detailed health information, which reveals internal structure.
WHAT TO MONITOR EXTERNALLY
The health check, from outside.
WHAT ELSE TO CHECK EXTERNALLY
That a real page loads and contains expected content.
WHY
An application can report health while serving an error page.
WHAT TO ALERT ON
Repeated failures, not a single one.