Observabilidade: Prometheus e Grafana
Logs, métricas e traces
Fundamentos de observabilidade para o stack com 5 microsservicos.
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/*/telemetryinfra/monitoring/prometheus.ymldocs/observability.mdinfra/monitoring/grafana/provisioning/dashboards
Passo a passo com codigo
- Padronize log estruturado com campos obrigatorios:
{
"service": "order-service",
"level": "info",
"trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"event_id": "evt-123",
"message": "order created"
}
- Defina metricas minimas por servico:
http_requests_total
http_request_duration_seconds
consumer_events_processed_total
consumer_errors_total
- Garanta propagacao de
traceparententre chamadas:
headers["traceparent"] = currentTraceparent
- Documente checklist de observabilidade no repositório.
Como testar
- Gere um pedido completo pelo fluxo da aplicacao.
- Verifique logs com
trace_idnos cinco servicos. - Consulte metricas de request e consumo no Prometheus.
- 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.