Account Login
Jump to section

O que é Jaeger?

Copiar URL

Jaeger é um software open source para rastreamento de transações entre serviços distribuídos. Ele é usado para monitorar e solucionar problemas em ambientes de microsserviços complexos.

Rastreamento distribuído é uma maneira de ver e entender a cadeia de eventos inteira em interações complexas entre microsserviços.

O desenvolvimento moderno de software, nativo em nuvem, depende dos microsserviços: serviços independentes, cada um fornecendo uma funcionalidade básica diferente. Quando um usuário faz uma solicitação em uma aplicação, muitos serviços individuais respondem para produzir um resultado.

Uma única chamada na aplicação pode invocar dezenas de serviços diferentes que interagem uns com os outros. Como desenvolvedores e engenheiros isolam um problema quando ocorre um erro ou uma solicitação está lenta? Precisamos encontrar uma maneira de rastrear todas as conexões.

É aí que o rastreamento distribuído entra em cena. Geralmente, ele é executado como parte de uma service mesh, que é um modo de gerenciar e observar os microsserviços.

O Jaeger usa o rastreamento distribuído para seguir o caminho de uma solicitação por diferentes microsserviços. Em vez de tentar adivinhar, temos uma representação visual do fluxo da chamada.

Ter informações organizadas sobre as transações é útil para fins de debugging e otimização. O Jaeger inclui ferramentas para monitorar transações distribuídas, otimizar o desempenho e a latência e realizar análises de causa (RCA), um método para solucionar problemas.

Como projeto open source, o Jaeger conta com uma comunidade de centenas de colaboradores. O Jaeger é baseado na instrumentação e APIs OpenTracing, independentes de fornecedor.

A Uber, uma empresa de transporte privado, desenvolveu o Jaeger como um projeto open source em 2015. Ele foi aceito como um projeto de incubação na Cloud Native Computing Foundation (CNCF) em 2017 e promovido ao status de graduado em 2019.

O Jaeger apresenta as solicitações de execução como traces, que mostram os dados/caminhos de execução através de um sistema. 

Um trace é formado por um ou mais spans, que são as unidades de trabalho lógicas do Jaeger. Cada span inclui o nome da operação, a data/hora de início e a duração. Os spans podem estar aninhados e ordenados.

O Jaeger tem vários componentes que funcionam juntos para coletar, armazenar e visualizar spans e traces.

O Jaeger Client inclui implementações específicas da API OpenTracing por linguagem para rastreamento distribuído. Elas podem ser usadas manualmente ou com uma variedade de frameworks open source.

O Jaeger Agent é um daemon de rede que detecta spans enviados por meio do User Datagram Protocol (UDP). O agente deve estar no mesmo host da aplicação instrumentada. Normalmente, isso é implementado por meio de um sidecar em ambientes de containers, como o Kubernetes.

O Jaeger Collector recebe os spans e os coloca em uma fila para processamento.

Esses coletores precisam de um back-end de armazenamento persistente para que o Jaeger também tenha um mecanismo conectável para armazenar os spans. 

Query é um serviço que recupera os traces do armazenamento.

O Jaeger Console é uma interface do usuário que permite visualizar os dados do rastreamento distribuído.

O Jaeger é instalado por padrão como parte do Red Hat® OpenShift® Service Mesh, que inclui uma implementação do Istio, uma service mesh open source.

Essa implementação de rastreamento distribuído gera vários benefícios. O Jaeger se integra ao Kiali, um console de observabilidade para o Istio. O back-end do Jaeger foi projetado para oferecer alta escalabilidade sem pontos de falha individuais. O Jaeger pode conectar dados de componentes diferentes para criar um rastreamento completo. Além disso, ele é compatível com versões antigas do Zipkin.

Leitura recomendada

ARTIGO

Microsserviços e o suporte à integração de TI no setor de saúde

Microsserviços permitem que desenvolvedores da área de saúde e outros setores criem aplicações a partir de serviços com baixo acoplamento, facilitando as etapas de desenvolvimento, teste, implantação e upgrade.

ARTIGO

O que são microsserviços?

Microsserviços são uma abordagem de arquitetura para a criação de aplicações formadas por partes menores que funcionam juntas, mas de maneira independente.

ARTIGO

O que é service mesh?

Uma service mesh é uma camada de infraestrutura incorporada a uma aplicação que documenta como os serviços interagem, facilitando a comunicação e eliminando o downtime.

Leia mais sobre microsserviços

Soluções Red Hat

Red Hat OpenShift

Uma plataforma empresarial de aplicações em container Kubernetes com stack completo de operações automatizadas para gerenciar implantações de nuvem híbrida, multicloud e edge computing.

Conteúdo adicional

Estudo de caso

Banco Original usa o Red Hat OpenShift e garante aumento de 700% em pagamentos em tempo real

VÍDEO - THE SOURCE TV

A cultura dos microsserviços

Mais do que apenas uma nova abordagem técnica, os microsserviços apoiam a construção de uma nova cultura nas organizações, ancorada no conceito de DevOps

Estudo de caso

ANBIMA moderniza sua infraestrutura com orientações de especialistas em TI da Red Hat

Treinamentos Red Hat

Treinamento gratuito

Developing Cloud-Native Applications with Microservices Architectures

Illustration - mail

Quer receber mais conteúdo deste tipo?

Cadastre-se para receber a nossa newsletter Red Hat Shares.

Red Hat logo LinkedInYouTubeFacebookTwitter

Produtos

Ferramentas

Experimente, compre, venda

Comunicação

Sobre a Red Hat

A Red Hat é a líder mundial em soluções empresariais open source como Linux, nuvem, containers e Kubernetes. Fornecemos soluções robustas que facilitam o trabalho em diversas plataformas e ambientes, do datacenter principal até a borda da rede.

Assine nossa newsletter Red Hat Shares

Cadastre-se agora

Selecione um idioma

© 2022 Red Hat, Inc. Red Hat Summit