Updated March 15, 2023
Introduction to spring boot actuator endpoints
Spring boot actuator endpoints provide secured endpoints for managing and monitoring the spring boot application. As we know that all the spring boot actuator endpoints are secured, we need to add the actuator dependency of spring boot to enable the spring boot actuator endpoints in our application. Spring boot actuator endpoint is nothing but the spring boot framework subproject; it will include the number of features which was used to monitor and manage the spring boot application. In addition, it will contain the endpoints of the actuator; we can use the HTTP and JMX endpoint in the spring boot application.
Spring boot actuator endpoints overview
- Spring boot actuator endpoints have some additional features also it includes the number of built-in endpoints. An example of the built-in endpoint is the spring boot health actuator endpoint is providing information regarding health.
- Using spring boot actuator endpoints, we can monitor our spring boot application by using JMX or HTTP endpoint.
- We can enable, disable, and exposed each spring boot actuator endpoint in our spring boot application.
Spring boot actuator endpoints technology
- Multiple built-in endpoints are available in spring boot; we can also add custom endpoints in our spring boot application.
- Below is the endpoints which were widely used in our spring boot application are as follows.
- Actuator – This endpoint provides the discovery page to the other endpoints.
- Auditevents – This endpoint is exposed information of audit events.
- Trace – This endpoint is used to display traced information.
- Shutdown – This endpoint is used to shut down our application forcefully.
- Mappings – This endpoint is used to display the path of the coated list.
- Metrics – This endpoint is used to display the information of metrics.
- Loggers – This endpoint is used to modify and display the logger’s configuration.
- Info – This endpoint is used to display information regarding the application.
- Health – This endpoint is used to display information regarding health.
- Flyway – This endpoint is used to show the database migration.
- Dump – This endpoint is used to perform dump.
- Configprops – This endpoint is used to show the list of collated.
- Beans – This endpoint is used to display all the beans.
- Autoconfig – This endpoint is used to show the auto-configuration.
- Docs – This endpoint is used to display the documentation.
- Spring boot actuator endpoint has the following features we can use in spring boot production-ready applications.
- Logging
- Monitoring
- Tracing
- Auditing
- Metrics
Example
Below is the example of endpoint are as follows.
- Create a project template using a spring initializer and give the following name to the project.
In the below step, we have provided project group name as com.example, artifact name as spring-boot-actuator-example, project name as spring-boot-actuator-example, package as a jar file, and selecting java version as 11.
Group – com.example
Artifact name – spring-boot-actuator-example
Name – spring-boot-actuator
Description - Project for spring-boot-actuator-example
Package name - com.example.spring-boot-actuator-example
Packaging – Jar
Java – 11
Dependencies – spring boot actuator
After generating project extract files and open this project by using spring tool suite –
- After opening the project using the spring tool suite, check the project and its files –
- Add the dependency –
Code –
<dependency> -- Start of dependency tag.
<groupId>org.springframework.boot</groupId> -- Start and end of groupId tag.
<artifactId>spring-boot-starter-actuator</artifactId> -- Start and end of artifactId tag.
</dependency> -- End of dependency tag.
- Create controller class –
Code –
@RestController
public class SpringBootActuator
{
@GetMapping ("/actuator")
public String actuator()
{
return "Spring boot actuator";
}
}
- Edit the application.properties file –
Code –
management.security.enabled = false
- Run the application –
- After running the application, open the below URL in the browser –
Code –
http://localhost:8080/actuator
Endpoints Exposing
- We can expose or enable all the available actuator endpoints by default. But we cannot enable the shutdown endpoint by default.
- We can enable all the endpoints in the spring boot actuator endpoint by using the properties file of the spring boot application.
- To enable the endpoint in the spring boot actuator application, we need to set the endpoint of property management as enabled into the spring boot application.properties file.
- We can also use id; the id is needed to be replaced with the name of the actual endpoint name of the application.
Properties endpoints
- Spring boot endpoints are nothing but the devices, operating system, and application agent, which helped in vulnerabilities to secure the configuration.
- We can review the current state of the selected endpoint by using template runs. There are two properties of endpoints are as follows.
- Descriptive properties
- Configurable properties
- Descriptive properties contain the information regarding the software version and agent which was managing the actuator endpoint.
- Configurable properties contain the details regarding the change, like the importance of the endpoint.
HTTP endpoints – secure
- We can secure our HTTP endpoints in the spring boot actuator by setting privileges on get, put, delete and post method.
- We can also secure http endpoints by providing the specified access to the user; every user doesn’t require access to each service.
- Setting the privileged-based authorization means only the authorized user deletes the specified content from a file.
- We can also whitelist the user IP address using the HTTP method; it will be applicable to all the users.
Endpoints -HTTP method
- Using the monitoring feature of the endpoint HTTP method, we can check the health of our spring boot application.
- Using the logging feature of the endpoint HTTP method, we are writing the log messages regarding the events which was occur at the time of runtime.
- Using the tracing feature of the endpoint HTTP method, we are tracing all the HTTP requests of our spring boot application.
- Using the metrics feature of the endpoint HTTP method, we are measuring the performance of our spring boot application.
- Using the logging feature of the endpoint HTTP method, we are logging all the authorization events from our spring boot application.
Conclusion
Spring boot actuator endpoint is nothing but a spring boot framework sub-project. Spring boot actuator endpoint enables the security of all the endpoints we have used in the project. Using spring boot actuator endpoints, we can monitor our spring boot application by using JMX or HTTP endpoint.
Recommended Articles
This is a guide to spring boot actuator endpoints. Here we discuss the Spring boot actuator endpoints overview along with the examples and codes. You may also have a look at the following articles to learn more –