Архитектура
Данная архитектура построена на стеке технологий OpenTelemetry и Jaeger, обеспечивая полный жизненный цикл управления распределённым трассированием. Система состоит из пяти основных модулей: сбор данных, передача, хранение, запросы и визуализация.

Содержание
Основные компоненты
-
Система OpenTelemetry
- opentelemetry-operator
Оператор на уровне кластера, отвечающий за развертывание и управление компонентом otel-collector, обеспечивающий возможность автоматической инъекции OTel.
- otel-collector
Принимает данные трассировки от приложений, фильтрует и группирует их, затем пересылает в jaeger-collector.
- Tracing UI
Самостоятельно разработанный интерфейс визуализации, интегрированный с API jaeger-query, поддерживающий многомерные условия запросов.
-
Система Jaeger
- jaeger-operator
Разворачивает и управляет компонентами jaeger-collector и jaeger-query.
- jaeger-collector
Принимает данные трассировки, переданные и обработанные otel-collector, выполняет преобразование формата и записывает их в Elasticsearch.
- jaeger-query
Предоставляет API для запросов трассировки, поддерживающий многокритериальный поиск, включая TraceID и метки.
-
Слой хранения
- Elasticsearch
Распределённый движок хранения, поддерживающий эффективную запись и извлечение большого объёма данных Span.
Поток данных
-
Процесс записи
Application -> otel-collector -> jaeger-collector -> Elasticsearch
Приложение генерирует данные Span через SDK или автоматическую инъекцию, которые стандартизируются otel-collector и затем сохраняются в Elasticsearch через jaeger-collector.
-
Процесс запроса
User -> Tracing UI -> jaeger-query -> Elasticsearch
Пользователь отправляет условия запроса через UI, jaeger-query извлекает данные из Elasticsearch; UI визуализирует результаты на основе возвращённых данных.