Sobre el proyecto

Jaeger es una plataforma de rastreo distribuido de código abierto creada originalmente en Uber y alojada por la Cloud Native Computing Foundation, donde se convirtió en el séptimo proyecto de nivel superior graduado en octubre de 2019. Está licenciada bajo Apache 2.0. Qué hace - Recopila datos de traza de aplicaciones instrumentadas, recibiendo spans a través de OTLP por gRPC (puerto predeterminado 4317) e HTTP (puerto 4318). - Almacena trazas en un backend de almacenamiento con plugins. - Proporciona un servicio de consulta y una interfaz web para buscar e inspeccionar trazas; la UI puede ejecutarse de forma separada del componente de consulta. Arquitectura - Los SDK de OpenTelemetry en las aplicaciones envían spans por HTTP o gRPC al Recolector de Jaeger. - El Recolector escribe en el almacenamiento directamente o a través de un plugin gRPC; también puede responder a las políticas de muestreo. - El servicio de Query lee del almacenamiento y sirve la interfaz web por HTTP. - La versión 2 está construida sobre componentes del OpenTelemetry Collector; el proyecto intenta mantener la compatibilidad de configuración entre versiones. Inicio rápido Un solo comando Docker ejecuta una imagen todo-en-uno que contiene la UI, el recolector, el servicio de consulta y almacenamiento en memoria, exponiendo la UI en el puerto 16686 y OTLP en 4317/4318. El README dirige a una guía para despliegues en producción. Backends de almacenamiento compatibles El README documenta una política de soporte que vincula la cobertura de Jaeger al ciclo de vida de cada backend: Elasticsearch (política Elastic de EOL), OpenSearch (su política de lanzamiento y mantenimiento), Cassandra (líneas de lanzamiento Apache mantenidas) y ClickHouse (versiones LTS actuales y anteriores). Soporte significa que una versión está dentro del alcance para correcciones proactivas de compatibilidad; CI puede probar solo un subconjunto. El proyecto no soporta los productos backend ni distribuciones de vendors, y la resolución de problemas puede requerir una actualización previa. Garantías de compatibilidad - Las opciones de configuración pueden deprecar con un periodo de gracia declarado de al menos tres meses o dos versiones menores, lo que suceda después, antes de su eliminación. - El soporte de Go sigue las versiones soportadas por el equipo de Go; se retira el soporte de una versión menor antigua tras el lanzamiento de una nueva y no se considera cambio rompedor. El código importable se ha movido a paquetes internos. Comunidad, gobernanza y seguridad El proyecto tiene gobernanza abierta y se desarrolla públicamente, con contribuyentes reconocidos de toda la comunidad. Los mantenedores están listados en el repositorio y pueden mencionarse colectivamente en issues y pull requests. Las reuniones de video regulares están abiertas a usuarios y contribuyentes. Los repositorios relacionados incluyen la UI, el modelo de datos/IDL y la fuente de documentación. Las auditorías de seguridad de terceros se publican en un repositorio separado de jaegertracing, y los insignias en el README apuntan a OpenSSF Scorecard, OpenSSF Best Practices y estado CLOMonitor. El README también lista adoptantes y patrocinadores del proyecto. A quién va dirigido Equipos que ejecutan sistemas basados en microservicios o distribuidos que necesitan rastrear flujos de solicitud a través de límites de servicios, ya sea en producción o durante la solución de problemas en desarrollo. Dado que la instrumentación proviene de SDK de OpenTelemetry, los usuarios pueden adoptar el rastreo sin depender de un backend único de un solo vendor y pueden elegir un sistema de almacenamiento que se ajuste a su entorno operativo existente.