09‐Spring Boot Actuator - JulianeMaran32/Java-with-Spring-Boot GitHub Wiki
O Spring Boot Actuator é uma ferramenta que permite monitorar e gerenciar uma aplicação Spring Boot. Ele fornece vários endpoints que ajudam a verificar o estado da aplicação, métricas e informações úteis sem precisar escrever código adicional.
Para usar o Actuator, basta adicionar a seguinte dependência no seu arquivo pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Após adicionar essa dependência, alguns endpoints estarão automaticamente disponíveis. Todos os endpoints do Actuator são acessados pelo caminho /actuator
.
- /actuator/health → Verifica se a aplicação está rodando corretamente (UP ou DOWN).
- /actuator/info → Exibe informações personalizadas da aplicação.
- /actuator/beans → Lista todos os beans gerenciados pelo Spring.
- /actuator/mappings → Mostra todos os mapeamentos de rotas da aplicação.
- /actuator/threaddump → Exibe informações sobre as threads ativas.
- /actuator/auditevents → Mostra eventos de auditoria registrados pela aplicação.
Por padrão, apenas o /actuator/health
é exposto. Para ativar outros endpoints, é necessário configurá-los no arquivo application.properties
ou application.yml
.
Exemplo para ativar os endpoints /health e /info:
management.endpoints.web.exposure.exclude=health,info
Se quiser expor todos os endpoints disponíveis, use o curinga *
:
management.endpoints.web.exposure.include=*
Por padrão, o endpoint /actuator/info
não retorna nada. Podemos adicionar informações personalizadas no application.properties
:
info.app.name=My Super Cool App.
info.app.description=A crazy fun app, yoohoo!
info.app.version=1.0.0
Depois de configurar, acessar /actuator/info
retornará um JSON com essas informações.
Agora vamos testar os endpoints do Actuator na prática.
- No IntelliJ IDEA (ou outra IDE), crie um novo projeto baseado no Spring Boot.
- Copie a estrutura de um projeto existente e renomeie a pasta para
03-actuator-demo
. - Abra esse novo projeto na IDE.
- Edite o arquivo
pom.xml
e adicione a dependência do Actuator, como mostrado anteriormente.
- Execute a aplicação Spring Boot.
- No console, observe a saída de log indicando quais endpoints estão disponíveis.
- Abra um navegador e acesse
http://localhost:8080/actuator/health
. Se estiver tudo certo, a resposta será:
{
"status": "UP"
}
- Agora acesse
http://localhost:8080/actuator/info
. Inicialmente, ele estará vazio, mas podemos configurá-lo conforme o passo anterior.
Se estiver usando o Google Chrome, instale uma extensão como JSON Formatter para visualizar o JSON formatado corretamente. No Firefox, a opção de visualização formatada já vem ativada por padrão.
Agora que já configuramos e testamos /health
e /info
, podemos testar outros endpoints como:
-
http://localhost:8080/actuator/beans
→ Lista todos os Beans gerenciados pelo Spring. -
http://localhost:8080/actuator/threaddump
→ Exibe um dump das threads em execução. -
http://localhost:8080/actuator/mappings
→ Mostra todos os endpoints disponíveis na aplicação.
Por padrão, os endpoints do Actuator podem ser acessados livremente. No entanto, em ambientes de produção, é recomendado restringir o acesso com autenticação. Nos próximos tópicos, veremos como proteger os endpoints com Spring Security.
Agora que conhecemos o Spring Boot Actuator, podemos usá-lo para monitorar nossa aplicação de forma simples e eficaz! 🚀