Возможности
Содержание
Высокая масштабируемостьCloud NativeOpenTelemetryНесколько бэкендов храненияСэмплированиеСовременный Web UIНаблюдаемостьService Performance Monitoring (SPM)Совместимость с ZipkinВысокая масштабируемость
Backend Jaeger спроектирован так, чтобы не иметь единой точки отказа и масштабироваться в соответствии с потребностями бизнеса.
Cloud Native
Backend Jaeger распространяется в виде контейнерного образа или необработанного бинарного файла и доступен для нескольких платформ. Поведение бинарного файла можно настроить с помощью файла конфигурации YAML. Развертывание в кластерах Kubernetes поддерживается Alauda Build of OpenTelemetry v2 Operator.
OpenTelemetry
Jaeger может принимать данные трассировки в стандартном OpenTelemetry Protocol (OTLP).
Несколько бэкендов хранения
Jaeger можно использовать с растущим числом бэкендов хранения:
Alauda Distributed Tracing поддерживает только Elasticsearch 8.x и OpenSearch 3.x.
- Он нативно поддерживает популярные open source NoSQL базы данных в качестве бэкендов хранения трассировок: Cassandra 4.0+, Elasticsearch 7.x/8.x и OpenSearch 1.0+.
- Поддерживается встроенная база данных с использованием Badger, а также простое хранение в памяти для тестовых сред.
Сэмплирование
Чтобы контролировать накладные расходы для приложений и затраты на хранение, Jaeger поддерживает несколько форм сэмплирования: head-based с централизованной удаленной конфигурацией (статической или адаптивной) и tail-based sampling.
Современный Web UI
Web UI Jaeger реализован на Javascript как приложение React. В версии 1.0 было выпущено несколько улучшений производительности, которые позволяют UI эффективно работать с большими объемами данных и отображать трассировки с десятками тысяч spans (например, мы протестировали трассировку с 80,000 spans).
Наблюдаемость
Все backend-компоненты Jaeger по умолчанию экспортируют метрики Prometheus. Логи записываются в stdout с использованием библиотеки структурированного логирования zap.
Service Performance Monitoring (SPM)
SPM позволяет отслеживать и исследовать тенденции в производительности сервисов, вычисляя агрегированные метрики на основе трассировок и визуализируя их в виде графиков временных рядов. Это мощный инструмент для выявления и анализа проблем с производительностью,
См. Service Performance Monitoring (SPM) для получения дополнительных сведений.
Совместимость с Zipkin
Хотя мы рекомендуем инструментировать приложения с помощью OpenTelemetry, если ваша организация уже вложилась в инструментирование с использованием библиотек Zipkin, вам не придется переписывать весь этот код. Jaeger обеспечивает обратную совместимость с Zipkin, принимая spans в форматах Zipkin (Thrift, JSON v1/v2 и Protobuf) по HTTP. Переход с backend Zipkin — это всего лишь перенаправление трафика от библиотек Zipkin к backend Jaeger.