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. Observabilidade
    de
    APIs

    View full-size slide

  2. Elton Minetto
    ๏ Escrevo códigos, sou professor, palestrante, e
    escritor
    ๏ Escrevo no https://eltonminetto.dev e no x
    ๏ Principal Software Engineer @ PicPay

    View full-size slide

  3. Monitoramento
    x
    observabilidade

    View full-size slide

  4. Monitoramento de APIs

    View full-size slide

  5. 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

    View full-size slide

  6. Observabilidade de APIs

    View full-size slide

  7. 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

    View full-size slide

  8. ๏ 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.

    View full-size slide

  9. 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)

    View full-size slide

  10. For the minute of 3:34-3:35pm on 2/21/2019,
    there were three purchases totaling $2.75.

    View full-size slide

  11. 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.

    View full-size slide

  12. Events
    Um evento pode ser definido como uma ação
    discreta que acontece em um momento no tempo.

    View full-size slide

  13. At 3:34pm on 2/21/2019, a bag of BBQ chips was
    purchased for $1.

    View full-size slide

  14. 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

    car e
    interrogar retroativamente a execução do código.

    View full-size slide

  15. 2/21/2019 15:34:03: { actionType:
    purchaseCompleted, machineId: 2099, itemName:
    ‘Tasty BBQ Chips’, itemValue: 1.00 }

    View full-size slide

  16. 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.

    View full-size slide

  17. 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.

    View full-size slide

  18. Show me the
    code

    View full-size slide

  19. Stacks de
    Telemetria

    View full-size slide

  20. Open Telemetry

    View full-size slide

  21. Adicionando
    logs

    View full-size slide

  22. Adicionando
    métricas

    View full-size slide

  23. Adicionando
    traces

    View full-size slide

  24. https://github.com/eminetto/api-o11y

    View full-size slide

  25. Referências

    View full-size slide


  26. What is the Di

    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

    View full-size slide


  27. Usando Prometheus para coletar métricas de
    aplicações Golang

    Collector

    OpenTelemetry Demo Documentation

    MELT 101

    View full-size slide

  28. Contato
    https://eltonminetto.dev
    https://x.com/eminetto
    [email protected]

    View full-size slide