Vishal's Blog
Header

36 - Using Spring Boot Actuator (Health, Metrics, Insights)

Building an application is only half the job — monitoring and operating it in production is equally important.
Spring Boot Actuator provides production-ready features that help you monitor, manage, and understand your application at runtime.

This post explains what Actuator is, how it works, and how to use it effectively.


1. What Is Spring Boot Actuator?

Spring Boot Actuator adds operational endpoints to your application that expose:

  • Health information
  • Metrics
  • Application details
  • Environment info
  • Thread dumps
  • Mappings and configs

These endpoints help teams monitor and manage applications in production.


2. Adding Actuator to Your Project

Add the dependency.

Maven

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Gradle

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
}

Once added, Actuator endpoints are available automatically.


3. Common Actuator Endpoints

By default, Actuator exposes a limited set of endpoints.

Endpoint Purpose
/actuator/health Application health
/actuator/info App information
/actuator/metrics Metrics data
/actuator/env Environment properties
/actuator/beans Bean definitions
/actuator/mappings Request mappings

4. Health Endpoint

The /actuator/health endpoint shows application health.

Example response:

{
  "status": "UP"
}

Spring Boot automatically checks:

  • Disk space
  • Database connectivity
  • Custom health indicators

5. Custom Health Indicators

You can define your own health checks.

@Component
public class CustomHealthIndicator implements HealthIndicator {

    @Override
    public Health health() {
        return Health.up()
                .withDetail("service", "Available")
                .build();
    }
}

This integrates seamlessly with /health.


6. Metrics Endpoint

The /actuator/metrics endpoint exposes metrics like:

  • JVM memory
  • CPU usage
  • HTTP request counts
  • Response times

Example:

/actuator/metrics/http.server.requests

Metrics are collected using Micrometer.


7. Integrating with Monitoring Tools

Actuator integrates with:

  • Prometheus
  • Grafana
  • Datadog
  • New Relic

This enables real-time dashboards and alerts.


8. Exposing Endpoints Safely

Never expose all endpoints publicly.

Configure exposure:

management.endpoints.web.exposure.include=health,info,metrics

Restrict sensitive endpoints in production.


9. Securing Actuator Endpoints

Use Spring Security to protect Actuator.

Example:

management.endpoint.health.show-details=when_authorized

Only authorized users can see details.


10. Actuator Info Endpoint

Customize /actuator/info:

info.app.name=Demo App
info.app.version=1.0.0

Useful for build and deployment visibility.


11. Actuator in Production

Best practices:

  • Expose minimal endpoints
  • Secure endpoints properly
  • Integrate with monitoring tools
  • Monitor metrics continuously

Actuator is essential for production-grade systems.


12. Summary

  • Actuator provides runtime insights
  • Health checks show system status
  • Metrics enable performance monitoring
  • Endpoints must be secured
  • Critical for production readiness

With Actuator, your Spring Boot application becomes observable and manageable.


Series Complete 🎉

You have now completed the Spring Boot Core Features series.


What's Next?

Next logical series:

  • Spring Boot REST APIs
  • Spring Boot with Databases & JPA
  • Spring Boot Security
  • Microservices with Spring Boot

Tell me which series you want to start next, and we’ll continue.