11. Spring Actuators

Vinay Avasthi
Springframework
Published in
1 min readFeb 19, 2019

pring provides actuators that are a helpful set of tools to debug the application on runtime. Here is how to enable them. We first add actuator dependency in the pom.xml

<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-actuator</artifactid>
</dependency>

Now we define a prefix for all the actuator endpoints. We add the following line into the application.properties file. This enables all the actuator endpoints. We can enable specific endpoints by adding a comma delimited list of endpoints. We also deploy management endpoint on a separate port so that we can block its access from something like ELB.

management.endpoints.web.base-path=/manage
management.server.port=9091
management.endpoints.web.exposure.include=*

Since we already have a security filter defined, we need to exempt health and info endpoint from security check. We add the following URLs int he SecurityConfiguration configure method.

@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/manage/health");
web.ignoring().antMatchers("/manage/info");
web.ignoring().antMatchers("/webjars/**");
web.ignoring().antMatchers("/error");
web.ignoring().antMatchers("/swagger-ui.html");
web.ignoring().antMatchers("/v2/api-docs/**");
web.ignoring().antMatchers("/swagger-resources/**");
}

Here we have added paths related to error, actuator, and swagger.
This enables actuator endpoints for our server. We can query these endpoints and following is the sample response.

$ curl -X GET http://localhost:9091/manage/health
{"status":"UP"}

This post first appeared in my Spring Framework blog here.

--

--

Vinay Avasthi
Springframework

Just waiting for my retirement! Life is not what it used to be.