Glossary · Automation software engineering and architecture
Health check
Also known as: Health endpoint, Health probe
German: Zustandsprüfung
In software engineering, a health check is an automated test, often exposed as an endpoint or status signal, that reports whether a service, application or device is working correctly and able to perform its function, so that monitoring or orchestration systems can react to failures.
- Software engineering
In one sentence
A health check is an automated test, often an endpoint, that reports whether a service or device is working and able to do its job.
Example
The data collector's health check reports 'unhealthy' when it has not received data from any PLC for 60 seconds, and the monitoring system raises an alarm.
How it applies
- Engineering: A useful health check tests what matters, such as connections to required systems and recent successful processing, and responds quickly. A check that only reports that the process is running misses most real failures.
- Operation: Orchestration platforms use health checks to restart or replace instances; load balancers use them to route traffic; monitoring uses them for alarms. Health checks that depend on shared systems can make many services look unhealthy at once.
- Documentation: Document what each health check tests, its states and thresholds, and what operators should do for each state. Health information that service staff see should use the same terms as alarm and diagnostic documentation.
Health check vs. diagnostics
A health check gives a condensed, machine-readable status for automated reactions. Diagnostics provide detailed information for people to find the cause of a problem. A good system offers both and links them, so an unhealthy status leads to the relevant diagnostic details.