Jaeger es un sistema distribuido de traceo (inspirado por Dapper y OpenZipkin) creado por Uber y publicado como open-source.
Se puede usar para monitorear arquitecturas basadas en microservices, ya que ofrece:
· Propagación de contexto distribuida
· Monitorización de transacciones distribuidas
· Análisis de la causa raíz
· Análisis de la dependencia entre servicios
Jaeger ofrece librerías en varios lenguajes:
Ofrece un UI en Javascript (con React), su backend está construido en Go y soporta como storage ElasticSearch y Cassandra 3.x (en el futuro soportarán otros storages).
En su UI podemos ver:
Traces View:
Y Traces Detail View:
Jaeger tiene 3 componentes:
· Jaeger-agent
· Jaeger-collector
· Jaeger-query
En la arquitectura:
Que:
· Agent: daemon de red que escucha los spans enviados a través de UDP, que batchea y envía al colector. Está diseñado para ser implementado en todos los hosts como un componente de infraestructura. El agente abstrae el enrutamiento y el descubrimiento de los colectores lejos del cliente.
· Colector: El colector recibe trazas de agentes Jaeger y las pasa a través de un pipeline de procesamiento. Actualmente el pipeline valida trazas, los indexa, realiza cualquier transformación y finalmente los almacena. El almacenamiento es un componente conectable que actualmente soporta Cassandra y ElasticSearch.
· Query: Query es un servicio que recupera trazas del almacenamiento y aloja una interfaz de usuario para mostrarlas.





Deja un comentario