DEV Community

Cover image for Spring Boot Actuator
Bruno
Bruno

Posted on

Spring Boot Actuator

O que é o Spring Boot Actuator?

O Spring Boot Actuator é um módulo do Spring Boot que fornece funcionalidades prontas para monitoramento, gerenciamento e observabilidade de aplicações em tempo de execução.

Ele expõe endpoints HTTP que permitem inspecionar o estado interno da aplicação sem precisar modificar o código ou reiniciar o sistema.

Endpoints Principais

Método Endpoint Descrição
GET /actuator/health Status da aplicação e sub-componentes (DB, Redis, disco...)
GET /actuator/metrics Lista todas as métricas disponíveis (JVM, HTTP, CPU...)
GET /actuator/info Informações da aplicação (versão, build, git commit...)
GET /actuator/env Variáveis de ambiente e propriedades de configuração
GET /actuator/beans Todos os beans Spring registrados no contexto
GET /actuator/mappings Todos os mapeamentos de rotas HTTP (@RequestMapping)
GET /actuator/loggers Nível de log de cada logger da aplicação
POST /actuator/loggers/{name} Altera nível de log em tempo real (sem restart!)
GET /actuator/threaddump Thread dump completo da JVM
GET /actuator/prometheus Métricas no formato Prometheus (requer Micrometer)

⚠️ Por padrão, apenas /health e /info são expostos via HTTP.


Configuração (application.properties / application.yml)

Expor todos os endpoints

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
Enter fullscreen mode Exit fullscreen mode

Expor apenas endpoints específicos

management.endpoints.web.exposure.include=health,info,metrics
management.endpoints.web.exposure.exclude=env,beans
Enter fullscreen mode Exit fullscreen mode

Mudar a porta e o base path

management.server.port=8081
management.endpoints.web.base-path=/manage
Enter fullscreen mode Exit fullscreen mode


Customização

Health Indicator customizado

@Component
public class MinhaIntegracaoHealth implements HealthIndicator {
    @Override
    public Health health() {
        boolean ok = verificarIntegracao();
        return ok
            ? Health.up().withDetail("api", "online").build()
            : Health.down().withDetail("erro", "timeout").build();
    }
}
Enter fullscreen mode Exit fullscreen mode

O Actuator serve para:

Monitorar a saúde da aplicação
Expor métricas de desempenho
Diagnosticar problemas em produção
Integrar com ferramentas de observabilidade
Gerenciar comportamento da aplicação em runtime

  • Health Check Endpoint:

/actuator/health
Permite verificar se a aplicação está funcionando corretamente.

  • Métricas (Micrometer) Endpoint: /actuator/metrics

Fornece dados como:
Tempo de resposta
Uso de memória
Número de requisições
Taxa de erro

  • Logs dinâmicos Endpoint:

/actuator/loggers
Permite alterar o nível de log sem reiniciar a aplicação.

  • Informações da aplicação Endpoint:

/actuator/info
Exibe informações como versão, nome e build.

ATENÇÃO

** Deve ser protegido em produção.**

  • Ambiente e configurações Endpoint:

/actuator/env
Mostra propriedades e variáveis de ambiente.

  • Beans do Spring Endpoint:

/actuator/beans
Lista todos os componentes carregados pelo Spring.

  • Integração com Prometheus Endpoint:

/actuator/prometheus
Permite exportar métricas para ferramentas como Prometheus e Grafana.


O que o Actuator resolve?

Sem o Actuator:

  • Dificuldade para monitorar aplicação
  • Debug complicado em produção
  • Falta de visibilidade sobre performance

Com o Actuator:

  • Observabilidade centralizada
  • Diagnóstico rápido
  • Monitoramento contínuo

Use o Actuator quando:

Ele transforma sua aplicação em um sistema observável, permitindo:

Monitorar saúde
Acompanhar métricas
Diagnosticar problemas
Integrar com ecossistemas de cloud
Dominar o Actuator significa dar um passo importante para trabalhar com sistemas distribuídos, microserviços e ambientes de produção reais.

Top comments (0)