Logs Estruturados, Métricas e Traces¶
Observabilidade usa sinais externos para investigar estado. Logs, métricas e traces respondem perguntas distintas e são mais fortes quando correlacionados.
| Sinal | Mais adequado a | Uso incorreto comum |
|---|---|---|
| Log estruturado | Evento discreto com contexto | Registrar tudo ou payload sensível |
| Métrica | Taxa, nível, erro, latência ou saturação agregados | Rótulos ilimitados e apenas médias |
| Trace | Caminho causal e latência entre limites | Amostragem sem compreender ausências |
Logs estruturados¶
Emita campos estáveis: timestamp, nível, nome do evento, serviço, ID seguro, resultado e dimensões limitadas. Registre a exceção uma vez no limite que pode agir. Nunca registre credenciais, tokens, cabeçalhos de autorização ou dados pessoais desnecessários.
Métricas e cardinalidade¶
Contadores medem eventos acumulados; gauges, níveis atuais; histogramas, distribuições. Taxas derivam de contadores. Histogramas apoiam análise da cauda; uma média oculta as requisições mais lentas.
Cada combinação de rótulos cria série temporal. Templates de rota e resultados limitados são úteis; IDs, URLs brutas e mensagens de exceção são ilimitados.
Traces e contexto¶
Um trace conecta spans entre processos e limites assíncronos. Propague contexto por instrumentação HTTP, mensageria e executores. Amostragem reduz custo; trace ausente não prova evento inexistente. Evite atributos sensíveis ou ilimitados.
Comece pelo comportamento visível¶
Meça taxa de requisições/tarefas, erros, distribuição de latência e saturação. Defina indicadores semanticamente úteis e ligue alertas a investigações acionáveis. No Spring Boot, Actuator e Micrometer fornecem observations para métricas e traces.
Teste propagação, redação, falhas, cardinalidade e indisponibilidade do backend de telemetria. Monitoramento não pode bloquear indefinidamente a operação principal.
Consulte observabilidade no Spring Boot e conceitos do Micrometer.