Endpoint Health
Configuração
-
Mostrar todas as informações de saúde da aplicação
management: endpoint: health: show-details: always
URL do endpoint Health
-
Padrão:
/actuator/health -
É possível alterar o URL base (
/actuator) por meio do arquivo de configuração (application.yaml)-
Sintaxe
management: endpoints: web: base-path: <caminho> -
Exemplo
management: endpoints: web: base-path: /adminCaminho:
/admin/health
-
Estrutura da resposta para /actuator/health
| Caminho JSON | Tipo | Descrição |
|---|---|---|
| status | String | Status geral da aplicação |
| components | Object | Componentes monitorados pelo Health |
| components.*.status | String | Status do componente |
| components.*.components | Object | Subcomponentes |
| components.*.details | Object | Mais informações sobre o componente (para ocultar essas informações: management.endpoint.health.show-details) |
-
Exemplo da resposta padrão
{ "status": "UP", "components": { "diskSpace": { "status": "UP", "details": { "total": 982900588544, "free": 846019592192, "threshold": 10485760, "exists": true } }, "ping": { "status": "UP" } } }
Adicionar um componente ao Health
-
Sintaxe
-
Implementar a interface
HealthIndicator -
Implementar o método
health
-
-
Exemplo de implementação
@Component public class DatabaseService implements HealthIndicator { private final String DATABASE_SERVICE = "DatabaseService"; @Override public Health health() { if (isDatabaseHealthGood()) { return Health .up() .withDetail(DATABASE_SERVICE, "Service is running") .build(); } return Health .down() .withDetail(DATABASE_SERVICE, "Service is not available") .build(); } private boolean isDatabaseHealthGood() { return true; } }