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
- Liste os últimos incidentes e as perguntas que ficaram sem resposta.
- Identifique quais sinais responderiam cada uma.
- Verifique o que já é coletado e o que é consultado de fato.
- 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.
