Pular para conteúdo

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.