You’ll probably be interested in a very common use case: deploying a web application on Kubernetes and configuring HTTP Probes. Adding the Spring Boot Actuator dependency to your application is the only requirement! Actuator will use the Health support to configure Liveness and Readiness HTTP Probes.

Actuator will gather the "Liveness" and "Readiness" information from the ApplicationAvailability and use that information in dedicated Health Indicators: LivenessStateHealthIndicator and ReadinessStateHealthIndicator . These indicators will be shown on the global health endpoint ( "/actuator/health" ). They will also be exposed as separate HTTP Probes using Health Groups: "/actuator/health/liveness" and "/actuator/health/readiness" .

An application running on Kubernetes will show the following health report:

// http://localhost:8080/actuator/health // HTTP/1.1 200 OK { "status": "UP", "components": { "diskSpace": { "status": "UP", "details": { //... } }, "livenessProbe": { "status": "UP" }, "ping": { "status": "UP" }, "readinessProbe": { "status": "UP" } }, "groups": [ "liveness", "readiness" ] }

Kubernetes will get the following when calling the Liveness group:

// http://localhost:8080/actuator/health/liveness // HTTP/1.1 200 OK { "status": "UP", "components": { "livenessProbe": { "status": "UP" } } }

An application marked as unready will report the following for the Readiness group:

// http://localhost:8080/actuator/health/readiness // HTTP/1.1 503 SERVICE UNAVAILABLE { "status": "OUT_OF_SERVICE", "components": { "readinessProbe": { "status": "OUT_OF_SERVICE" } } }

HTTP Probes are only configured for applications running on Kubernetes. You can give it a try locally by manually enabling the probes with the management.health.probes.enabled=true configuration property. Because Probes are Health Groups, you’ll get many additional features such as configuring HTTP status mappers, security, details visibility…

You can of course configure additional Health Indicators to be part of the Probes, checking for the state of external systems: a database, a Web API, a shared cache. Given an existing CacheCheckHealthIndicator , you can augment the liveness Probe with:

management.endpoint.health.group.liveness.include=livenessProbe,cacheCheck