Об этом проекте

Jaeger — это платформа распределённого трейсинга с открытым исходным кодом, изначально созданная в Uber и размещённая в Cloud Native Computing Foundation, где она стала седьмым проектом, получившим статус graduated, в октябре 2019 года. Лицензия — Apache 2.0. Что она делает - Собирает данные трассировки из проинструментированных приложений, принимая спаны по OTLP как через gRPC (порт по умолчанию 4317), так и через HTTP (порт 4318). - Хранит трассы в подключаемом бэкенде через интерфейс плагина хранения. - Предоставляет сервис запросов и веб-интерфейс для поиска и анализа трасс; UI можно запускать отдельно от компонента запросов. Архитектура - SDK OpenTelemetry в пользовательских приложениях отправляют спаны по HTTP или gRPC в Jaeger Collector. - Collector записывает данные в хранилище напрямую либо через плагин хранения по gRPC; он также может возвращать ответы о семплировании SDK. - Сервис Query читает из хранилища, опционально через тот же интерфейс плагина, и обслуживает UI поверх HTTP. - Версия 2 платформы построена на компонентах из OpenTelemetry Collector, и проект стремится сохранять совместимость конфигурации между выпусками. Быстрый старт Одна Docker-команда запускает all-in-one образ, содержащий UI, коллектор, сервис запросов и in-memory хранилище, с доступом к UI на порту 16686 и OTLP на 4317/4318. В README указана ссылка на руководство по起手 для продакшен-развёртываний и дополнительные варианты. Поддерживаемые бэкенды хранения и политика В README задокументирована политика поддержки версий бэкендов, привязанная к собственному жизненному циклу каждого бэкенда: Elasticsearch (политика EOL от Elastic), OpenSearch (его политика релизов и сопровождения), Cassandra (актуальные линии поддерживаемых релизов Apache) и ClickHouse (текущие и предыдущие LTS-релизы). Поддержка означает, что версия попадает в диапазон проактивных исправлений совместимости; CI может тестировать только подмножество поддерживаемых версий, и присутствие в CI само по себе не расширяет политику. Проект не поддерживает сами продукты бэкендов или дистрибуции вендоров, и для решения проблем может потребоваться сначала обновить бэкенд. Гарантии совместимости - Опции конфигурации могут быть помечены как устаревшие с указанием периодаGrace не менее трёх месяцев или двух минорных выпусков — в зависимости от того, что наступит позже — перед удалением. - Поддержка Go следует поддерживаемым версиям команды Go; поддержка более старой минорной версии прекращается после выхода нового минора и не считается ломающим изменением. Импортируемый код перемещён во внутренние пакеты. Сообщество, управление и безопасность Проект обладает открытым управлением и разрабатывается публично, авторы получают упоминания от wider сообщества. Maintainers перечислены в репозитории и могут быть упомянуты коллективно в issue и pull request. Регулярные видеовстречи открыты как для конечных пользователей, так и для контрибьюторов. Связанные репозитории включают UI, модель данных/IDL и исходники документации. Страницы сторонних аудитов безопасности публикуются в отдельном репозитории jaegertracing, а бейджи в README указывают на статус OpenSSF Scorecard, OpenSSF Best Practices и CLOMonitor. В README также перечислены адоптеры и спонсоры проекта. Для кого Команды, эксплуатирующие микросервисные или иные распределённые системы, которым нужно отслеживать потоки запросов через границы сервисов — как в продакшене, так и при отладке в разработке. Поскольку инструментация предоставляется SDK OpenTelemetry, пользователи могут внедрять трейсинг без зависимости от одного вендорского бэкенда и выбирать систему хранения, соответствующую их существующей операционной среде.