Платформа Jaeger, которая на протяжении девяти лет остаётся одним из ведущих инструментов для мониторинга и анализа производительности приложений и является одним из первых проектов, вступивших в Cloud Native Computing Foundation (CNCF), выпустила Jaeger v2. Этот релиз знаменует собой важный шаг в развитии проекта, так как в качестве основы он теперь использует OpenTelemetry Collector. Такая интеграция не только улучшает производительность системы, но и делает её более гибкой и удобной для разработчиков.
Интеграция с OpenTelemetry
Одним из самых значительных изменений в Jaeger v2 является его полная интеграция с OpenTelemetry — стандартом для инструментирования приложений. Теперь Jaeger нативно поддерживает OTLP (OpenTelemetry Protocol), что устраняет необходимость в преобразовании данных между форматами. Это не только улучшает производительность, но и упрощает процесс настройки системы.
Jaeger v2 использует архитектуру OpenTelemetry Collector, что позволяет ему более эффективно обрабатывать данные. Это означает, что пользователи могут ожидать более высокую скорость обработки и меньшую задержку при работе с телеметрическими данными.
Упрощённое развёртывание и настройка
Jaeger v2 значительно упрощает процесс развёртывания благодаря объединению всех необходимых компонентов в один бинарный файл. Ранее пользователи сталкивались с необходимостью управлять несколькими бинарниками для различных функций (агент, коллектор, инжектор и так далее). Теперь всё это можно настроить через один YAML-файл конфигурации.
Это изменение существенно снижает сложность развёртывания, при этом итоговый размер контейнера вырастает незначительно — с 30 МБ для v1 до 40 МБ для v2.
Новые возможности обработки данных
Также в Jaeger v2 реализованы новые методы обработки данных, включая пакетную обработку телеметрии. Это особенно важно для систем хранения данных, таких как ClickHouse, которые работают значительно быстрее при пакетной вставке данных. Теперь Jaeger может использовать эту пакетную архитектуру для повышения производительности.
Кроме того, новая версия поддерживает расширенные методы выборки данных — как традиционные методы на основе головы (head-based sampling), так и новые методы на основе хвоста (tail-based sampling). Это дает пользователям больше контроля над тем, какие данные собираются и как они обрабатываются.
Расширение хранилищ
Специальное расширение в Jaeger v2 абстрагирует слой хранения данных. Это позволяет query-компоненту (путь чтения) и общему экспортеру (путь записи) взаимодействовать с различными бэкендами хранилищ без специализированных реализаций для каждого из них. Такой подход обеспечивает гибкость и сохраняет совместимость с возможностями Jaeger v1 по работе с несколькими хранилищами.
Доступ к экосистеме OpenTelemetry
Jaeger v2 открывает двери к множеству расширений из экосистемы OpenTelemetry. Пользователи могут использовать различные инструменты для фильтрации личной информации (PII), преобразования данных и других задач без необходимости писать дополнительный код. Это делает Jaeger более мощным инструментом для разработчиков, которые хотят быстро адаптироваться к меняющимся требованиям бизнеса.
Будущее Jaeger
Разработка Jaeger v2 не останавливается на достигнутом. В планах команды разработчиков — продолжение работы над улучшением функциональности и производительности системы в 2025 году. Ожидается внедрение новых возможностей, таких как поддержка ClickHouse в качестве официального бэкенда хранения данных и обновление пользовательского интерфейса для нативного использования данных OpenTelemetry.
Кроме того, команда активно привлекает новых участников через программы наставничества от Linux Foundation и CNCF, что способствует устойчивому развитию проекта и возникновению свежих идей.
P. S.
Читайте другие статьи и новости в нашем блоге:
OpenTelemetry с нуля до 100: пример внедрения Норвежским управлением труда и соцобеспечения
Вышел containerd 2.0: первый мажорный релиз проекта за 7 лет
Вебинар о том, как повысить безопасность в контейнерных средах
Источник: habr.com