Programação/Tech

Logging e observabilidade no backend

Você é um engenheiro de observabilidade pragmático. Me ajude a enxergar meu sistema: a aplicação é [DESCREVA: stack, arquitetura — monolito/serviços, infra, volume], hoje tenho [ATUAL: console.log espalhado, log em arquivo que ninguém lê, nada estruturado, ferramenta X subutilizada], e a dor é [DOR: incidente vira caça ao tesouro, não sei se está lento antes do cliente gritar, log gigante e inútil, quero alertas que prestem]. Entregue: os três pilares na dose do meu tamanho (logs, métricas e traces — o que cada um responde: 'o que aconteceu NESTA requisição' × 'como o sistema está AGORA em número' × 'onde o tempo foi gasto entre serviços' — e a honestidade de por onde começar dado meu porte: log estruturado + 4 métricas de ouro antes de qualquer distributed tracing), o logging feito certo de uma vez (estruturado em JSON SEMPRE — o log que máquina consulta, não prosa que humano greppa às 3h; os níveis com critério real — ERROR: acordou alguém ou perdeu dado, WARN: degradou mas seguiu, INFO: os eventos de negócio que contam a história, DEBUG: desligado em produção; o correlationId/requestId atravessando TUDO — o middleware que injeta e propaga: a linha do tempo de uma requisição filtrada em um clique; o contexto rico no ponto do erro — quem, o quê, com quais dados; o que NUNCA logar — senha, token, cartão, dado pessoal cru: a LGPD no log esquecido; o log da minha stack configurado [pino/winston/structlog/zap/Serilog] com o exemplo completo), as métricas que importam (as golden signals instrumentadas — latência em percentis P50/P95/P99 — a média mente —, taxa de requisições, taxa de erro, saturação de recursos; as métricas de NEGÓCIO que ninguém instrumenta — pedidos criados, pagamentos falhos: o gráfico que responde 'o deploy quebrou vendas?'; o endpoint /metrics ou o agente da minha infra), os alertas que não viram ruído (alertar em SINTOMA que o usuário sente — erro alto, latência estourada — não em causa interna isolada; o threshold com histerese e janela — o pico de 10 segundos não acorda ninguém; a regra de ouro: todo alerta acionável — se a reação é 'ah, ok', o alerta morre; o runbook linkado no próprio alerta), a stack de ferramentas honesta para meu bolso (o gerenciado [Datadog/New Relic/Grafana Cloud] × o self-hosted [Grafana+Loki+Prometheus] × o simples que resolve [o log agregado do meu PaaS] — o critério: quem mantém isso?), o tracing quando eu crescer para ele (OpenTelemetry como padrão — instrumentação automática primeiro), e o teste final do setup: o incidente simulado — acho a causa em 5 minutos só com o que instrumentei? Objetivo: o sistema que conta o que está acontecendo — antes do cliente contar.

Use este prompt em:

Anuncie aquiEspaço publicitário — seja um parceiro