Article image
Roni Carvalho
Roni Carvalho08/09/2026 18:55
Compartilhe

A Saga do Ingresso Perfeito: Parte 6 (Olhando por Trás das Cortinas)

    Olhando por Trás das Cortinas

    Como o Grafana, o Prometheus e a Observabilidade dão superpoderes aos times de Engenharia.

    No episódio anterior, celebramos a vitória do Lucas! Ao clicar em "Comprar", o fluxo assíncrono rodou com perfeição em segundo plano e, graças ao Webhook, o celular dele recebeu a confirmação instantânea com o QR Code do ingresso. O sistema de vendas agora é resiliente, desacoplado e incrivelmente rápido.

    Mas pare por um instante e pense: em um show de escala global, milhares de "Lucas" estão comprando ingressos ao mesmo tempo. Serviços sobem e descem, bancos de dados realizam escritas paralelas, e mensagens viajam pela rede em milissegundos. Como os engenheiros de software e SREs (Site Reliability Engineers) conseguem saber se esse ecossistema complexo está saudável ou se alguma engrenagem está prestes a quebrar?

    Bem-vindo ao mundo da Observabilidade e ao painel de controle dos deuses da infraestrutura: o Grafana.

    Monitoramento vs. Observabilidade: Qual a diferença?

    Muitos iniciantes usam esses dois termos como sinônimos, mas há uma diferença didática crucial entre eles:

    • Monitoramento (Olhar o Passado e o Conhecido): Foca em coletar métricas pré-definidas e responder a perguntas sobre problemas que nós já sabemos que podem acontecer (os "known unknowns" ou conhecidos desconhecidos). Ele avisa, por meio de alertas, quando um limite é ultrapassado (ex: "A CPU do Serviço de Pagamentos passou de 80%").
    • Observabilidade (Inferir o Presente e o Desconhecido): É uma propriedade do sistema que mede o quão bem conseguimos inferir o seu estado interno apenas analisando as suas saídas externas (telemetria). Em sistemas distribuídos complexos, os problemas costumam ser silenciosos e inéditos ("unknown unknowns"). A observabilidade permite que você faça perguntas novas ao sistema sem precisar escrever códigos ou colocar a aplicação offline para depurar.

    Para alcançar a observabilidade plena, nós nos apoiamos em três pilares fundamentais: Métricas, Logs e Rastreamento (Traces).

    Os Três Pilares da Telemetria na Prática

    Para monitorar a bilheteria do show, a equipe de engenharia configurou uma pilha de tecnologia moderna e open-source amplamente adotada pelo mercado: Grafana como a interface unificada de visualização, alimentada por Prometheus (métricas), Loki (logs) e Tempo (rastreamento).

    image

    Figura 7: Pilha de Observabilidade Unificada integrada no Grafana.

    1. Métricas: O Termômetro do Sistema

    Métricas são dados numéricos agregados em intervalos de tempo regulares. Elas nos dizem a "temperatura" da aplicação em tempo real: qual a taxa de requisições por segundo, quanta memória RAM os containers estão consumindo e quantos pagamentos foram aprovados ou rejeitados.

    Como funciona no Kubernetes? No cluster, o Prometheus atua como um coletor ativo (pull-based). Ele lê as configurações de nossos serviços (via anotações de Pods como prometheus.io/scrape: "true") e, de tempos em tempos, faz uma varredura buscando as métricas de performance geradas por bibliotecas como o Spring Boot Actuator e o Micrometer.

    • O que visualizamos? Gráficos de linha em tempo real no Grafana mostrando o uso do processador, a saúde das conexões de banco de dados e até o status dos nossos Circuit Breakers.

    2. Logs: O Diário de Bordo

    Se as métricas mostram que a taxa de erros subiu, o Log nos conta o contexto exato do que aconteceu. Ele é um registro cronológico e imutável de eventos textuais que a aplicação escreve enquanto roda.

    • A abordagem Cloud-Native: Em vez de fazer as aplicações gravarem arquivos de texto diretamente no disco das máquinas (o que seria perdido se o container reiniciasse), nossos microserviços cospem os logs diretamente na saída padrão do sistema (stdout).

    O Coletor Centralizado: Um agente leve (como o Fluent Bit ou Fluentd) captura esses textos da saída padrão de todos os containers e os envia ao Loki. O Loki indexa esses logs usando metadados (como o nome do microserviço e o ambiente), tornando a busca por termos como Database query timeout incrivelmente rápida no Grafana.

    3. Rastreamento Distribuído (Distributed Tracing): O GPS da Requisição

    Quando Lucas clicou em "Comprar", a sua transação atravessou a rede passando pelo Serviço de Ingressos, Serviço de Pagamento e Serviço de Notificação. Se houver uma lentidão, como saber qual serviço foi o culpado?

    • TraceID e SpanID: Ao entrar na nossa "fronteira" (o Edge Server), a requisição do Lucas recebe um crachá de identificação global exclusivo chamado TraceID. Cada etapa do processamento individual dentro de cada microserviço recebe um identificador filho chamado SpanID.
    • A Jornada Unificada: À medida que os microserviços se comunicam usando chamadas HTTP ou mensagens assíncronas no Kafka, eles passam esses IDs adiante nos cabeçalhos das mensagens. O Tempo (ou Jaeger) recebe esses dados e renderiza no Grafana uma árvore de chamadas interativa. Com isso, o SRE consegue enxergar a linha do tempo exata de processamento e apontar o dedo cirurgicamente: "Olha só, o gargalo foi nessa consulta SQL específica de 822 milissegundos lá no banco de dados de pagamentos!".

    O Maior Superpoder: A Correlação de Dados no Grafana

    O verdadeiro "pulo do gato" que o Grafana proporciona é a correlação contínua de telemetria.

    Em um único painel integrado (conhecido como Single Pane of Glass), se um alerta de métrica de erro disparar no Prometheus, você pode clicar no gráfico e navegar diretamente para os logs exatos do Loki gerados naquele exato segundo. Dentro do texto do log de erro, o Grafana detecta o TraceID e, com um único clique, abre o desenho estruturado do rastreamento no Tempo.

    image

    Figura 8: Caminho de depuração correlacionando Métricas -> Logs -> Traces.

    A equipe de engenharia não precisa mais acessar dez servidores diferentes via SSH, ler arquivos de texto gigantescos ou tentar "adivinhar" o que aconteceu. Eles enxergam a jornada completa do Lucas de ponta a ponta em minutos.

    A nossa infraestrutura de bilheteria agora está altamente observável e protegida contra pontos cegos. Mas será que precisamos ter seres humanos acordados na madrugada do show vigiando esses gráficos, ou podemos colocar a Inteligência Artificial para trabalhar na tomada de decisões e correção de falhas?

    Compartilhe
    Comentários (0)