Observabilidade

Observabilidade: perguntas, sinais e custo

A escolha da ferramenta vem depois de decidir quais perguntas o time precisa responder durante um incidente.

A discussão sobre observabilidade costuma começar pela ferramenta. Um ponto de partida útil são as perguntas que o time precisa responder quando algo falha, e quais sinais sustentam cada resposta.

Liste as perguntas primeiro

Durante um incidente, algumas perguntas se repetem:

  • O problema afeta todos os usuários ou um subconjunto?
  • Começou depois de qual mudança?
  • Está em um serviço, em uma dependência ou na infraestrutura?
  • A degradação é de disponibilidade, de latência ou de resultado?
  • O que mudou no volume de uso?

Cada pergunta exige um tipo de informação. Uma lista de perguntas sem resposta ajuda a priorizar a instrumentação.

Os três tipos de sinal e o que cada um responde

Métricas respondem quanto e quando. São agregadas e adequadas para alerta e comparação ao longo do tempo, e explicam pouco sobre um caso individual. O custo de retenção de métricas depende do volume, da cardinalidade, da resolução e da solução utilizada.

Logs registram eventos e podem apoiar a investigação, conforme a qualidade e a cobertura dos registros. Têm alto detalhe e custo de armazenamento proporcional ao volume. Registros estruturados facilitam a busca no momento em que ela é mais necessária.

Rastros respondem por onde passou uma requisição e onde o tempo foi gasto. Ajudam em arquiteturas com várias chamadas entre serviços e exigem propagação de contexto no código.

A maioria dos ambientes começa por métricas e logs. Rastros costumam entrar quando a pergunta “qual serviço causou a lentidão” fica frequente.

Instrumentação e padrões abertos

Instrumentar a aplicação é trabalho de desenvolvimento. A qualidade da informação depende da instrumentação, da coleta, do processamento e da configuração da ferramenta. Padrões abertos de instrumentação, como o OpenTelemetry, permitem separar a coleta do destino, o que reduz o retrabalho em uma eventual troca de ferramenta.

Vale avaliar o esforço de adoção, o suporte para as linguagens em uso e a maturidade das bibliotecas para cada caso.

Alertas que alguém atende

Um alerta útil tem destinatário definido, descreve um sintoma que afeta o uso e indica o que verificar em seguida. Alertas disparados por variação normal treinam o time a ignorá-los.

Duas decisões costumam ser adiadas e merecem atenção: quem responde a cada alerta, e o que acontece quando a resposta demora além do prazo esperado. Essas decisões exigem acordo entre os times e configuração coerente dos mecanismos de notificação e escalonamento.

Custo e retenção

O custo da observabilidade acompanha o volume coletado, a granularidade e o tempo de retenção. Os pontos que mais pesam:

  • Cardinalidade das métricas, ou seja, quantas combinações de rótulos existem.
  • Volume de log por serviço e o que está sendo registrado em nível de depuração.
  • Taxa de amostragem dos rastros.
  • Prazo de retenção por tipo de sinal e a diferença de preço entre armazenamento de consulta rápida e de arquivo.

Prazos de retenção precisam considerar uso real, investigação de incidentes e obrigações aplicáveis. Prazos iguais para todos os ambientes raramente são a opção mais econômica.

Uma avaliação inicial

  1. Liste os últimos incidentes e as perguntas que ficaram sem resposta.
  2. Identifique quais sinais responderiam cada uma.
  3. Verifique o que já é coletado e o que é consultado de fato.
  4. Compare o custo do que é retido com a frequência de consulta.

Esse levantamento costuma revelar dois desencontros: dados coletados além do que é consultado, e perguntas recorrentes que ainda precisam de instrumentação.

A revisão de observabilidade pode integrar um Diagnóstico de plataforma. O acompanhamento recorrente pode ser avaliado no Operação acompanhada, com atividades e frequência definidas na proposta.

Converse sobre observabilidade.

Conte quais perguntas ficam sem resposta quando algo falha no seu ambiente.

A conversa inicial serve para conhecer a demanda. Diagnóstico e execução têm escopo e condições definidos em proposta.