devly
Voltar para Cloud DevOps

Seu Código Sob Observação: Logs, Métricas e Traces na Prática

Descubra como entender o que acontece com sua aplicação em produção e por que a observabilidade é sua melhor amiga (e do seu time gringo!).

Atualizado em: 27 de Maio, 2025
Notas do Autor

Sabe aquele frio na barriga quando o cliente liga dizendo "o sistema está lento" ou "deu um erro estranho"? Se você não tem como investigar o que aconteceu, é puro achismo e reza. Já passei por isso, tentando adivinhar o problema olhando para uma tela preta de terminal.

A diferença é brutal quando você tem Observabilidade. Lembro de um projeto gringo onde um bug complexo em produção foi rastreado e resolvido em minutos, graças a logs detalhados, métricas precisas e traces que mostravam a jornada da requisição. Foi um alívio e uma lição: código em produção sem visibilidade é código no escuro.

Nesta aula, vamos acender as luzes e te mostrar como Logs, Métricas e Traces te dão superpoderes para entender e manter sua aplicação saudável lá na nuvem.


1. O Que é Observabilidade (e Por Que Você, Dev, Deveria se Importar MUITO)?

"Deployei, e agora?". Colocar o código em produção é só o começo da jornada. Observabilidade não é apenas "monitorar" (que é mais reativo, tipo "o servidor caiu!"). É a capacidade de fazer perguntas complexas sobre seu sistema em produção e obter respostas que te ajudam a entender o comportamento dele, mesmo aqueles que você não previu.

Por que isso é CRUCIAL para você, Dev?

Debugging Eficaz: Entender o que deu errado, onde e por quê, sem precisar adivinhar.
Performance Otimizada: Identificar gargalos e entender como seu código se comporta sob carga.
Confiabilidade Aumentada: Detectar problemas antes que impactem muitos usuários.
Decisões Baseadas em Dados: "Será que essa feature nova está sendo usada? Ela piorou a latência?",
Ownership Real: Se você escreveu, você é (co)responsável por como ele se comporta em produção. Observabilidade te dá as ferramentas para isso.

2. Os Três Pilares da Observabilidade (Seus Olhos em Produção) 👀

Geralmente, a observabilidade é sustentada por três tipos principais de dados de telemetria:

📜 1. Logs: O Diário de Bordo da Sua Aplicação

Logs são registros de eventos discretos que aconteceram na sua aplicação. Pense neles como um diário detalhado. "Usuário X tentou fazer login às 10:05", "Erro Y ao processar pagamento Z às 10:07".

O que logar? Erros (com stack trace!), warnings, decisões importantes do código, início e fim de processos chave, requisições com seus IDs (para correlação).
Boas Práticas: Use logs estruturados (JSON é ótimo, facilita a busca), adicione contexto (ID do usuário, ID da requisição), use níveis de log (DEBUG, INFO, WARN, ERROR), e NUNCA, JAMAIS, logue dados sensíveis (senhas, tokens, dados de cartão!).
Ferramentas Comuns (para coletar e buscar): ELK Stack (Elasticsearch, Logstash, Kibana), Grafana Loki, Splunk, Datadog Logs.

📊 2. Métricas: Os Sinais Vitais do Seu Sistema

Métricas são medições numéricas agregadas ao longo do tempo. São os "sinais vitais" da sua aplicação: temperatura, pulsação, pressão. "Qual a latência média da API nos últimos 5 minutos?", "Quantos erros 5xx por segundo?", "Uso de CPU da minha aplicação?".

O que medir (Exemplos): Taxa de requisições, taxa de erros, latência (média, p95, p99), uso de CPU/memória, tamanho de filas.
Foco nos Dashboards: Métricas são visualizadas em dashboards para dar uma visão rápida da saúde do sistema e identificar tendências.
Ferramentas Comuns: Prometheus com Grafana (super popular e open source), Datadog, New Relic, Dynatrace.

🗺️ 3. Traces (Rastreamento Distribuído): O GPS das Suas Requisições

Em sistemas modernos com microsserviços, uma única requisição do usuário pode passar por vários serviços diferentes. Se algo fica lento ou dá erro, como saber onde foi? Traces (ou rastreamento distribuído) te dão essa visão.

O que são? Um trace segue a jornada completa de uma requisição, mostrando quanto tempo ela passou em cada serviço e as chamadas entre eles.
Por que é crucial para microsserviços? Ajuda a identificar gargalos de performance, entender a cadeia de dependências e debugar erros em sistemas distribuídos.
Ferramentas Comuns: Jaeger, Zipkin (ambos open source e populares), OpenTelemetry (um padrão da indústria para instrumentação), Datadog APM, New Relic APM.

3. Sua Responsabilidade Como Dev na Instrumentação 👨‍💻

Observabilidade não é "mágica" que o time de SRE/Ops configura e pronto. A qualidade dos dados de observabilidade depende MUITO de como VOCÊ, dev, escreve e instrumenta seu código.

Logs Úteis: É sua responsabilidade escrever logs que façam sentido e ajudem a diagnosticar problemas. Código sem log é caixa preta.
Métricas Customizadas: Além das métricas padrão da infra, seu código pode precisar expor métricas de negócio específicas (ex: "pedidos processados por minuto").
Contexto de Tracing: Para o tracing funcionar bem, seu código precisa propagar os "IDs de trace" entre as chamadas de serviço.
Pense em Observabilidade Desde o Início: Ao desenhar uma nova feature, já pense: 'Como vou saber se isso está funcionando bem em produção? Que logs e métricas preciso aqui?'.

4. Por Que Times Gringos Valorizam Tanto a Observabilidade?

Em empresas que operam em escala global e com sistemas complexos, a observabilidade não é um "nice to have", é uma necessidade absoluta:

Resolução Rápida de Problemas (MTTR): Diminuir o Mean Time To Recovery é crucial. Observabilidade acelera a identificação e correção de falhas.
Decisões Baseadas em Dados Confiáveis: Otimizar performance, entender o comportamento do usuário, priorizar melhorias.
Cultura de Ownership e Accountability: Times que se preocupam com a observabilidade geralmente têm uma cultura forte de responsabilidade.
Confiabilidade e Uptime: Essencial para a reputação da empresa e a satisfação do cliente.
Trabalho Remoto Eficaz: Em times distribuídos, ter dados claros sobre o sistema é ainda mais importante para alinhar a todos.

Mostrar que você entende e valoriza a observabilidade é um sinal de maturidade profissional que brilha os olhos dos recrutadores gringos.


💊 Pílula Devly

Código sem observabilidade em produção é como dirigir um carro à noite, na chuva, com o farol quebrado e sem painel. Você até pode chegar, mas o risco de dar ruim é gigante. Observabilidade é o seu farol, seu painel e seu Waze, tudo junto! É a sua capacidade de entender, em tempo real, se a sua "obra de arte" está realmente encantando os usuários ou pegando fogo por dentro.

Anterior

Orquestrando o Caos: K8s & IaC para Devs (Visão Panorâmica)

Voltar

Próximo

Falando 'Cloudês' na Entrevista Gringa

Continuar