📊 Capítulo 19: Observabilidade & Métricas
Especialização Backend com Java 21 & Spring Boot 3
🗺️ Os Três Pilares da Observabilidade Moderna
flowchart LR
APP["Spring Boot 3 + Micrometer Tracing"]
--> METRICS["1. Métricas (Prometheus / Actuator)\n(Latência p99, Taxa de Erro 5xx, Uso de CPU/Heap)"]
APP --> LOGS["2. Logs Estruturados (JSON / Logback)\n(TraceId, SpanId, Timestamp ISO-8601)"]
APP --> TRACES["3. Tracing Distribuído (OpenTelemetry / Tempo)\n(Rastreamento de requisições de ponta a ponta)"]
METRICS --> GRAFANA["Grafana Dashboards & Alertas"]
LOGS --> GRAFANA
TRACES --> GRAFANA
style APP fill:#ede7f6,stroke:#512da8,stroke-width:2px
style METRICS fill:#e8f5e9,stroke:#4caf50,stroke-width:1.5px
style LOGS fill:#fff3e0,stroke:#ff9800,stroke-width:1.5px
style TRACES fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style GRAFANA fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
🎯 Slide 1: Spring Boot Actuator & Health Checks
- Endpoints Essenciais:
/actuator/health: Liveness e Readiness probes para Kubernetes (detecta falhas de banco e RabbitMQ)./actuator/info: Metadados da versão do build e commit Git./actuator/prometheus: Exporta métricas no formato padrão para scraping do Prometheus.
🎯 Slide 2: Métricas de Negócio com Micrometer MeterRegistry
@Service
public class CheckoutService {
private final Counter pedidosCriadosCounter;
private final Timer tempoProcessamentoTimer;
public CheckoutService(MeterRegistry registry) {
this.pedidosCriadosCounter = Counter.builder("ecommerce_pedidos_total")
.description("Total de pedidos finalizados")
.register(registry);
this.tempoProcessamentoTimer = Timer.builder("ecommerce_checkout_duracao_segundos")
.publishPercentiles(0.5, 0.95, 0.99)
.register(registry);
}
}
🎯 Slide 3: Tracing Distribuído & Correlação com OpenTelemetry
-
TraceId: Identificador único que viaja por todos os microsserviços na mesma requisição HTTP. -
SpanId: Identificador da operação específica dentro de um microsserviço. - Logs Enriquecidos Automaticamente: O Micrometer Tracing injeta
traceIdespanIdno MDC (Mapped Diagnostic Context) do Logback, unificando logs e métricas no Grafana/Loki!
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim