When an application is deployed into production:
- We want to know immediately if some service goes down or is very slow
- We want to know immediately if any of the servers does not have sufficient free space or memory
This is called application monitoring.
Spring Boot Actuator provides a number of production-ready monitoring features.
We will add Spring Boot Actuator by adding a simple dependency:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
As soon as the actuator is added to an application, it enables a number of endpoints. When we start the application, we see a number of added new mappings. The following screenshot shows an extract of these new mappings from the start up log:
The actuator exposes a number of endpoints. The actuator endpoint (http://localhost:8080/application) acts as a discovery for all other endpoints. The following screenshot shows the response when we execute the request from a Postman: