09‐Spring Boot Actuator - JulianeMaran32/Java-with-Spring-Boot GitHub Wiki

18. Spring Boot Actuator - Visão Geral

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.

Como ativar o Spring Boot Actuator?

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.

Principais Endpoints

  1. /actuator/health → Verifica se a aplicação está rodando corretamente (UP ou DOWN).
  2. /actuator/info → Exibe informações personalizadas da aplicação.
  3. /actuator/beans → Lista todos os beans gerenciados pelo Spring.
  4. /actuator/mappings → Mostra todos os mapeamentos de rotas da aplicação.
  5. /actuator/threaddump → Exibe informações sobre as threads ativas.
  6. /actuator/auditevents → Mostra eventos de auditoria registrados pela aplicação.

Personalizando os Endpoints

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=*

Personalizando o Endpoint /info

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.

19. Spring Boot Actuator - Acessando os Endpoints (Parte 1)

Agora vamos testar os endpoints do Actuator na prática.

Passo 1: Criar um novo projeto

  1. No IntelliJ IDEA (ou outra IDE), crie um novo projeto baseado no Spring Boot.
  2. Copie a estrutura de um projeto existente e renomeie a pasta para 03-actuator-demo.
  3. Abra esse novo projeto na IDE.
  4. Edite o arquivo pom.xml e adicione a dependência do Actuator, como mostrado anteriormente.

Passo 2: Rodar a aplicação

  1. Execute a aplicação Spring Boot.
  2. No console, observe a saída de log indicando quais endpoints estão disponíveis.
  3. Abra um navegador e acesse http://localhost:8080/actuator/health. Se estiver tudo certo, a resposta será:
{
    "status": "UP"
}
  1. Agora acesse http://localhost:8080/actuator/info. Inicialmente, ele estará vazio, mas podemos configurá-lo conforme o passo anterior.

20. Spring Boot Actuator - Acessando os Endpoints (Parte 2)

Passo 3: Melhorando a Visualização do JSON

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.

Passo 4: Explorando outros Endpoints

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.

Passo 5: Segurança nos Endpoints

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! 🚀

⚠️ **GitHub.com Fallback** ⚠️