Spring Boot Starter Actuator expansion function introduction
Spring Boot Starter Actuator is a module for monitoring and managing Spring Boot applications.It provides many useful functions that can help developers better understand and debug their applications.In addition to basic surveillance and measurement functions, Spring Boot Starter Actuator also provides some extension functions that can be customized by configuration and programming code.
1. Custom endpoint
1. Health Endpoint: Used to check the health status of the application.By default, Spring Boot provides the endpoint of the `/health`, which can test whether the application is normal by returning different health states.
2. Info Endpoint: It is used to provide some basic information of the application, such as the name, version, description of the application.By default, Spring Boot provides the endpoint of the `/info`, which can be configured by defining the content of the information by the configuration file` application.properties` or `application.yml`.
3. Environment endpoint: It is used to obtain an environmental variable and configuration attribute to obtain the application.By default, the Spring Boot provides the `/ENV` endpoint, which can view the application information of the application by returning the environment variables and the list of configuration attributes.
4. Configuration Properties endpoint: It is used to obtain the configuration property of the application.By default, Spring Boot provides the `/configprops` endpoint, which can view the application configuration information by returning the list of configuration attributes.
The above endpoints can be configured in the `Application.properties` or` Application.yml`, such as:
properties
# Custom health check -up end point path
management.endpoint.health.show-details=always
# Custom information endpoint content
info.app.name=My App
info.app.version=1.0.0
info.app.description=This is my application.
# Customized environmental endpoint content
management.endpoints.web.exposure.include=env
# Custom configuration attribute endpoint content
management.endpoints.web.exposure.include=configprops
2. Customized index
Spring Boot Starter Actuator also offers many indicators for monitoring applications.Developers can meet specific needs by adding custom indicators.
1. Counter index: used to count the number of incidents in an event.
@Autowired
private CounterService counterService;
public void process() {
// Treatment of business logic
counterService.increment("process.count");
}
2. Timer indicator (Timer): used to count the time consumption of an event.
@Autowired
private TimerService timerService;
public void process() {
// start the timer
Timer timer = timerService.start("process.time");
// Treatment of business logic
// End timing
timer.stop();
}
These custom indicators can be viewed by accessing the endpoints of `/metrics`.
Third, safety configuration
To protect sensitive monitoring data, Spring Boot Starter Actuator also provides some security configuration options.
1. Certification configuration: You can set user authentication through configuration files or programming code.
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/actuator/**").authenticated()
.anyRequest().permitAll()
.and()
.httpBasic();
}
}
2. Permanent configuration: You can set user permission through configuration files or programming code.
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/actuator/**").hasRole("ADMIN")
.anyRequest().permitAll()
.and()
.httpBasic();
}
}
The above is the introduction of the Spring Boot Starter Actuator expansion function.Through custom endpoints, custom indicators, and security configurations, developers can monitor and manage applications according to their needs.