O documento discute os conceitos e práticas de observabilidade. Ele explica que observabilidade é diferente de monitoramento, embora possam coexistir. Também discute os principais sinais de observabilidade como logs, métricas e traces, enfatizando a importância da padronização e do uso do OpenTelemetry.
6. Globalcode – Open4education
Explicando …
➔ Observabilidade é mais adequada para entender
os problemas no nível do aplicativo.
➔ Monitorameto é melhor para entender os
problemas no nível do sistema.
Janssen Lima
8. Globalcode – Open4education
O11y - o que é?
Habilidade de entender o que está acontecendo
dentro do seu sistema com base em suas saídas.
Janssen Lima
10. Globalcode – Open4education
O11y - o que não é?
➔ Três pilares
➔ APM
➔ Não é exclusivo de SREs
➔ Não é exclusivo de Devs
➔ Não é depuração de código
Janssen Lima
12. Globalcode – Open4education
O11y - jeito certo?
➔ Preocupação com os custos de o11y?
➔ Terceiriza tudo ou parte da pilha o11y?
➔ Padrões dos sinais de o11y?
➔ Sabe o que está causando problemas em seus
serviços?
➔ Está recebendo muitos alertas?
Janssen Lima
21. Globalcode – Open4education
Era moderna de software
➔ Software entregue como um serviço
➔ Aplicação doze-fatores
◆ um desses fatores é específico para o uso de logs
Janssen Lima
22. Globalcode – Open4education
Logs
"Um app doze-fatores nunca se preocupa com
o roteamento ou armazenamento do seu fluxo
de saída.
Não deve tentar escrever ou gerenciar
arquivos de logs e escreve o seu fluxo de
saída para stdout."
Janssen Lima
23. Globalcode – Open4education
Logs - o que fazer?
➔ Gerar logs estruturados
◆ Dados não estruturados em observabilidade são inúteis
◆ Utilizar logs em formato JSON
➔ As mensagens devem ter uma finalidade
◆ Indicar o que aconteceu no evento
➔ Criar política de logs
➔ Criar biblioteca de logs
➔ Definir onde armazenar os logs
Janssen Lima
24. Globalcode – Open4education
Logs - o que não fazer?
➔ Não armazenar dados para extrair métricas
➔ Não criar alertas e dashboards com dados de logs
Janssen Lima
26. Globalcode – Open4education
➔ Prática comum para medir desempenho de
sistemas e aplicativos
➔ Útil para sistemas de monitoramento
➔ Atua sobre estado de falhas conhecidos
➔ Indicadores importantes de disponibilidade e
desempenho
Métricas
Janssen Lima
28. Globalcode – Open4education
Métricas
➔ Introduzir métricas de saúde do microsserviço
◆ Memória
◆ Conexões com bases de dados
◆ Workers
◆ Etc
Janssen Lima
29. Globalcode – Open4education
➔ Não confiar em limites pré-estabelecidos
➔ Alertas baseados em limites
➔ Não confiar em métricas para resolver tudo
Métricas - como não usar?
Janssen Lima
30. Globalcode – Open4education
➔ As métricas são úteis para descartar problemas
baseados em códigos
➔ São fundamentais em alguns casos:
◆ Ajuda a identificar degradação de serviços
◆ Correlacionar restrições entre sistemas e aplicações
➔ Métrica é o sinal de menor custo
Métricas - são úteis?
Janssen Lima
32. Globalcode – Open4education
➔ Defina seu back-end de métricas
➔ Lembre-se dos alertas
◆ Integrações com sistemas de mensagens
◆ Foco em alertas baseados em SLO
◆ Procedimentos não resolvem dívidas técnicas
Métricas - o que fazer?
Janssen Lima
33. Globalcode – Open4education
Traces
➔ É o principal sinal de observabilidade
➔ Registra os caminhos percorridos por solicitações
➔ Melhora a visibilidade dos serviços
➔ Melhor maneira de entender as relações entre os
microsserviços
Janssen Lima
38. Globalcode – Open4education
Traces - o que fazer?
➔ Adote OpenTelemetry
➔ Defina seu back-end de armazenamento e
consulta de traces
➔ Comece pela instrumentação automática
➔ Defina uma política de amostragem
➔ Defina uma política de retenção
Janssen Lima
39. Globalcode – Open4education
➔ É o caminho ideal de início
◆ Depende da linguagem usada
➔ Não conhece a sua lógica de negócios, somente
estruturas de linguagens
➔ Geralmente ajuda a descobrir onde os problemas
estão ocorrendo
Instrumentação automática
Janssen Lima
40. Globalcode – Open4education
➔ Usada quando a instrumentação automática não é
mais suficiente
➔ Mais fácil e menos demorado descobrir problemas
➔ Ajuda a resolver uma dívida técnica
➔ Quando não encontrar respostas dos problemas,
depure e instrumente mais
Instrumentação manual
Janssen Lima
41. Globalcode – Open4education
Traces
➔ Propagar contexto
➔ Correlacionar logs com traces
➔ Instrumentar sempre que não encontrar respostas
Janssen Lima
42. Globalcode – Open4education
Traces - benefícios
➔ Ajuda na correção de bugs
➔ Identifica melhorias de performance
➔ Melhora na integração entre sistemas
➔ Investigação e diagnóstico rápido
➔ Etc.
Janssen Lima
43. Globalcode – Open4education
Resumo
➔ Adote OpenTelemetry
➔ Padronize os sinais de observabilidade
➔ Defina seus back-ends de armazenamento
➔ O11y exige um investimento contínuo
➔ Não é uma adoção ou solução única
Janssen Lima