Uma ferramenta extremamente importante para quem roda aplicações em Spring Boot é o Actuator. Se você não o usa, comece a usa-lo AGORA.
Ele é a maneira mais simples e fácil de saber o estado da sua aplicação e de criar uma forma de monitora-la e integra-la com os vários plugins de métricas.
Aqui você tem a documentação oficial do Actuator:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready
Como habilitar?
Projetos Maven no pom.xml colocar a dependência:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
Projetos Gradle, no build.gradle colocar a dependência:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
}
Pronto, se fizer isso, já tem o Actuator rodando.
Testando o Actuator.
Para saber o resultado do Actuator, basta usar o contexto /actuator/health da sua aplicação

Melhorando as informações do Actuator.
Agora que o Actuator já esta incorporado ao seu projeto, podemos / devemos configurar ele para mostrar mais detalhes sobe seus dados e permitir que o status seja maior que “UP” ou “Down”.
Para isso, precisamos implementar as configurações do YAML a baixo:
# Configuração do Actuator para mostrar detalhes
management:
endpoint:
health:
show-details: "always"
endpoints:
web:
exposure:
include: "*"
Essa configuração você pode colocar no arquivo:
src/main/resources/application.yml
Ou, o que é ainda melhor, é usar o Spring Cloud Config e cria uma configuração comum para todos os projetos do Spring Boot.
Acessando novamente a url de status com o detalhes ativo:

Actuator junto com Spring Security
Se o seu projeto utiliza Spring Security, ele deve ter um modelo de autenticação, no geral os softwares / mecânicas de monitoração não trabalhão fazendo autenticação e no geral sua aplicação Spring Boot não vai estar publicamente exposta para a internet (Se ela estiver, por favor, preveja migrar para não estar), por isso, não tem problema desligar a segurança em fazer a chamada ao Actuator.
Para isso, você vai precisar criar ou alterar a configuração do seu Spring Security, no meu caso, só criei uma classe de configuração com o conteúdo:
import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest;
import org.springframework.boot.actuate.context.ShutdownEndpoint;
import org.springframework.boot.autoconfigure.security.servlet.PathRequest;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
public class SpringSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/actuator/**").permitAll() // Permite as URI do Actuator
.antMatchers("/**").authenticated() // Permite todas as URI se forem autenticadas
.and().httpBasic();
}
}
A configuração que fazia o skip management.security.enabled foi removida a partir da versão 2.1. Por isso tem que fazer via classe de configuração.
Humildemente, achei pior, era mais simples antes.
Bom é isso. Até o próximo post.