🍃 Spring Boot Intermediate

What is Spring Boot Actuator for production monitoring?

Answer

Spring Boot Actuator + Micrometer provides comprehensive production monitoring: Micrometer metrics integration: Actuator uses Micrometer (vendor-neutral metrics facade) to export metrics to Prometheus, Datadog, CloudWatch, InfluxDB, etc. Prometheus + Grafana setup: add micrometer-registry-prometheus dependency → /actuator/prometheus endpoint exposes Prometheus-formatted metrics. Prometheus scrapes this endpoint; Grafana visualizes. Custom metrics: @Component public class OrderMetrics { private final Counter orderCreatedCounter; private final Timer orderProcessingTimer; public OrderMetrics(MeterRegistry registry) { orderCreatedCounter = registry.counter("orders.created", "type", "standard"); orderProcessingTimer = registry.timer("orders.processing.time"); } public void recordOrderCreated() { orderCreatedCounter.increment(); } public void recordProcessingTime(Supplier<Order> processOrder) { orderProcessingTimer.record(processOrder); } }. Custom health indicators: @Component public class DatabaseHealthIndicator extends AbstractHealthIndicator { @Override protected void doHealthCheck(Health.Builder builder) { // Check external DB connection builder.up().withDetail("database", "PostgreSQL").withDetail("version", "15.0"); } }. Health groups: management.endpoint.health.group.readiness.include=db,redis — Kubernetes readiness probe uses /actuator/health/readiness. Liveness vs Readiness: liveness = is the app alive (not deadlocked); readiness = is it ready to serve traffic (dependencies up). Info endpoint: management.info.git.mode=full — expose git commit hash for deployment verification.