Adding a Spring Boot actuator is as simple as adding the next dependency to the project. Consider the following dependency in the Gradle-built file:
compile('org.springframework.boot:spring-boot-starter-actuator')
Here, we rely on the fact that the actual version of the library and all its dependencies are specified in the Spring Boot Bill of Materials (BOM).
A Spring Boot actuator was initially introduced with Spring Boot Version 1.x, but with Spring Boot 2.x it has been improved a lot. At the moment, an actuator is technologically agnostic and supports both Spring Web MVC and Spring WebFlux. It also shares the security model with the rest of the application, so it could easily be used in a reactive application and leverage all benefits of reactive programming.
The default configuration of an actuator exposes all endpoints under URL /actuator, but this could be changed with the management.endpoints.web.base-path property. So, after the application has started, we may immediately begin by exploring the internals of the service.
Now let's go through the main concerns described earlier and look at how to implement them in a reactive application.