Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Observabilidade de APIs

Observabilidade de APIs

Definições e como implementar, com exemplos em Go

Elton Minetto

May 10, 2023
Tweet

More Decks by Elton Minetto

Other Decks in Programming

Transcript

  1. Elton Minetto ๏ Escrevo códigos, sou professor, palestrante, e escritor

    ๏ Escrevo no https://eltonminetto.dev e no x ๏ Principal Software Engineer @ PicPay
  2. Permite que as equipes observem e entendam o estado de

    suas APIs ou até mesmo sistemas. É baseado na coleta de conjuntos predefinidos de métricas ou logs
  3. A observabilidade é baseada na exploração de propriedades e padrões

    não definidos com antecedência. Invoca um sentimento de transparência, é uma forma de monitoramento baseado em métricas expostas pelo sistema
  4. ๏ Metrics - Medições numéricas coletadas e rastreadas ao longo

    do tempo. ๏ Events - Snapshots de mudanças de estado significativas. ๏ Logs - Uma transcrição detalhada do comportamento do sistema. ๏ Traces - uma rota de interações entre componentes, juntamente com um contexto associado.
  5. Metrics ๏ Um status numérico em um momento (como %

    de CPU usada) ๏ Medições agregadas (como uma contagem de eventos em um minuto ou uma taxa de eventos por minuto)
  6. RED metrics ๏ R ate - O número de solicitações

    que o serviço está processando por segundo. ๏ E rror - O número de solicitações com falha por segundo. ๏ D uration - A quantidade de tempo que cada solicitação leva.
  7. Logs Linhas de texto que um sistema produz quando certos

    blocos de código são executados. Os desenvolvedores dependem muito deles para solucionar problemas de seu código e veri fi car e interrogar retroativamente a execução do código.
  8. Traces Traces – ou mais precisamente, “traces distribuídos” – são

    amostras de cadeias causais de eventos (ou transações) entre diferentes componentes em um ecossistema de microsserviços.
  9. Digamos que nossa máquina de venda automática aceite dinheiro e

    cartões de crédito. Se um usuário fizer uma compra com cartão de crédito, a transação deverá fluir pela máquina de venda automática por meio de uma conexão de back-end, entrar em contato com a administradora do cartão de crédito e, em seguida, entrar em contato com o banco emissor.
  10. ๏ What is the Di ff erence between API Observability

    and API Monitoring ๏ API Observability: A framework for managing your applications in an API world ๏ Intro to API Observability ๏ The RED method: A new strategy for monitoring microservices
  11. ๏ Usando Prometheus para coletar métricas de aplicações Golang ๏

    Collector ๏ OpenTelemetry Demo Documentation ๏ MELT 101