Spring Boot Actuator: Quick Start, Endpoint Overview, and Monitoring Configuration

This article provides a comprehensive guide to using Spring Boot Actuator for microservice monitoring, covering its purpose, quick setup with Maven/Gradle, detailed explanations of key endpoints such as /health, /metrics, /loggers, and integration with Spring Security for secure access.

Architect's Tech Stack
Architect's Tech Stack
Architect's Tech Stack
Spring Boot Actuator: Quick Start, Endpoint Overview, and Monitoring Configuration

In a recent microservice migration, the author needed to monitor all Spring Boot services and turned to Spring Boot Actuator, a production‑ready module that exposes health checks, metrics, audits, and more via HTTP or JMX.

What is Spring Boot Actuator? It offers built‑in health, metrics, and management endpoints that can be integrated with external systems like Prometheus, Grafana, DataDog, etc., using Micrometer as a common metrics facade.

Quick start shows how to create a demo project either with the Spring CLI command spring init -d=web,actuator -n=actuator-demo actuator-demo or via Spring Initializr, and adds the required dependency

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

for Maven or

dependencies { compile("org.springframework.boot:spring-boot-starter-actuator") }

for Gradle.

Endpoints overview explains that Actuator provides native endpoints grouped into configuration, metrics, and operational categories. Important endpoints include: /health – aggregates health indicators; configurable via management.endpoint.health.show-details (values: never, when-authorized, always). /metrics – lists available metric names; detailed values are retrieved with /actuator/metrics/{metricName}. /loggers – shows logger configuration and allows runtime log‑level changes via a POST request. /info – displays custom application information defined in application.properties. /beans, /heapdump, /threaddump, /shutdown – provide bean metadata, heap dump files, thread dump data, and graceful shutdown respectively.

Endpoint exposure configuration is controlled with properties such as management.endpoints.web.exposure.include=* to expose all endpoints or a comma‑separated list for selective exposure. The base path can be changed with management.endpoints.web.base-path=/monitor.

Custom health indicator example shows a Java class extending AbstractHealthIndicator that reports custom health details.

Security integration demonstrates adding spring-boot-starter-security and configuring a security class that restricts Actuator endpoints to users with the ACTUATOR_ADMIN role, while permitting static resources and the root path. Sample application.properties defines the default user and password.

The article concludes with a brief note that the source code is available on GitHub.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

JavamonitoringBackend DevelopmentActuator
Architect's Tech Stack
Written by

Architect's Tech Stack

Java backend, microservices, distributed systems, containerized programming, and more.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.