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
/healthe/infosã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
Expor apenas endpoints específicos
management.endpoints.web.exposure.include=health,info,metrics
management.endpoints.web.exposure.exclude=env,beans
Mudar a porta e o base path
management.server.port=8081
management.endpoints.web.base-path=/manage
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();
}
}
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)