Observabilidade: Prometheus e Grafana

Logs, métricas e traces

Fundamentos de observabilidade para o stack com 5 microsservicos.

Avançado 30 min 25 pontos Leitura 0%

Nesta aula você vai

  • Diferenciar papel de logs, metricas e traces na operacao
  • Definir sinais minimos de observabilidade por servico
  • Estabelecer correlacao entre telemetrias no fluxo completo

Logs, métricas e traces

Objetivos

  • Diferenciar papel de logs métricas e traces na operação
  • Definir sinais mínimos de observabilidade por serviço
  • Estabelecer padrão de correlação entre telemetrias

Pré-requisitos

  • Ambiente com servicos e Kafka funcionando.
  • Conhecimento basico do fluxo de pedidos do curso.
  • Acesso ao Prometheus e Grafana locais.

Conceito

Observabilidade combina tres pilares:

  • logs para contexto detalhado;
  • metricas para tendencia e alertas;
  • traces para caminho ponta a ponta.

Em sistema distribuido, os tres sinais precisam compartilhar identificadores como trace_id e event_id.

Estrutura de arquivos

  • services/*/telemetry
  • infra/monitoring/prometheus.yml
  • docs/observability.md
  • infra/monitoring/grafana/provisioning/dashboards

Passo a passo com codigo

  1. Padronize log estruturado com campos obrigatorios:
{
  "service": "order-service",
  "level": "info",
  "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
  "event_id": "evt-123",
  "message": "order created"
}
  1. Defina metricas minimas por servico:
http_requests_total
http_request_duration_seconds
consumer_events_processed_total
consumer_errors_total
  1. Garanta propagacao de traceparent entre chamadas:
headers["traceparent"] = currentTraceparent
  1. Documente checklist de observabilidade no repositório.

Como testar

  1. Gere um pedido completo pelo fluxo da aplicacao.
  2. Verifique logs com trace_id nos cinco servicos.
  3. Consulte metricas de request e consumo no Prometheus.
  4. Confirme possibilidade de correlacionar incidente por trace_id.

Dicas

  • Use naming consistente de metricas entre linguagens.
  • Evite logs sem contexto de negocio.
  • Relacione alertas com runbooks.
  • Registre ownership de cada painel.

Erros comuns

  • Instrumentar tudo sem objetivo de diagnóstico
  • Logs sem contexto de requisição
  • Métrica sem unidade e descrição
  • Trace sem propagação entre serviços

Resumo

Com logs, metricas e traces padronizados, o time ganha visibilidade real do fluxo distribuido e reduz drasticamente o tempo de diagnostico de incidentes.