Jump to section

Jaeger, qu'est-ce que c'est ?

Copier l'URL

Jaeger est un logiciel Open Source qui permet de tracer les transactions entre plusieurs services distribués. Il surveille les environnements de microservices complexes et permet d'en résoudre les problèmes.

En tant que projet Open Source, Jaeger s'appuie sur une communauté de centaines de contributeurs. Jaeger repose sur des API OpenTracing et des instruments qui ne dépendent d'aucun fournisseur.

C'est l'entreprise de covoiturage Uber qui a développé le projet Open Source Jaeger en 2015. Il a été accepté en 2017 comme projet d'incubation par la Cloud Native Computing Foundation (CNCF) et a été approuvé en 2019.

Jaeger présente des requêtes d'exécution sous la forme de traces. Une trace montre le chemin des données ou de l'exécution à travers un système. 

Une trace se compose d'au moins un intervalle. Un intervalle est une unité logique de travail dans Jaeger. Chaque intervalle comporte le nom de l'opération, l'heure de début et la durée. Les intervalles peuvent être imbriqués et classés.

Jaeger inclut différents composants qui agissent ensemble pour collecter, stocker et visualiser les intervalles et les traces.

Le client Jaeger comporte des modes d'exécution spécifiques de l'API OpenTracing pour le traçage distribué en fonction du langage. Ils peuvent être utilisés manuellement ou avec différentes structures Open Source.

L'agent Jaeger est un démon réseau qui écoute les intervalles envoyés via le protocole UDP (User Datagram Protocol). Cet agent doit être placé sur le même hôte que l'application instrumentée. Il est généralement mis en place via un proxy sidecar dans des environnements conteneurisés comme Kubernetes.

Le collecteur Jaeger reçoit les intervalles et les place dans la file d'attente en vue de leur traitement.

Les collecteurs ont besoin d'un système de stockage back-end persistant. Jaeger dispose donc également d'un module de stockage des intervalles. 

Query est un service qui récupère les traces depuis l'espace de stockage.

La console Jaeger est une interface utilisateur qui vous permet de visualiser toutes vos données de traçage distribué.

Jaeger est installé par défaut avec la solution Red Hat® OpenShift® Service Mesh qui inclut la mise en œuvre d'Istio, un Service Mesh Open Source.

La mise en œuvre du traçage distribué offre plusieurs avantages. Jaeger est compatible avec Kiali, une console d'observation pour Istio. Le back-end de Jaeger est conçu pour être hautement évolutif sans point individuel de défaillance. Jaeger peut relier des données de différents composants pour créer une trace complète de bout en bout. Jaeger est également rétrocompatible avec Zipkin.

Pour aller plus loin

ARTICLE

Les microservices comme technologie d'intégration dans le secteur de la santé

Les microservices permettent aux développeurs, notamment ceux du secteur de la santé, de créer des applications qui sont constituées de services faiblement couplés, ce qui facilite les étapes de développement, de test, de déploiement et de mise à niveau.

ARTICLE

Les microservices, qu'est-ce que c'est ?

Les microservices désignent une approche architecturale du développement d'applications selon laquelle les différentes parties d'une application fonctionnent en synergie tout en étant séparées.

ARTICLE

Un Service Mesh, qu'est-ce que c'est ?

Un Service Mesh est une couche d'infrastructure comprise dans une application qui permet de documenter les interactions entre les services, pour simplifier l'optimisation des communications et réduire les temps d'arrêt.