• Русский
  • Архитектура

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

    Содержание

    Основные компоненты

    1. Система OpenTelemetry

      • opentelemetry-operator
        Оператор на уровне кластера, отвечающий за развертывание и управление компонентом otel-collector, обеспечивающий возможность автоматической инъекции OTel.
      • otel-collector
        Принимает данные трассировки от приложений, фильтрует и группирует их, затем пересылает в jaeger-collector.
      • Tracing UI
        Самостоятельно разработанный интерфейс визуализации, интегрированный с API jaeger-query, поддерживающий многомерные условия запросов.
    2. Система Jaeger

      • jaeger-operator
        Разворачивает и управляет компонентами jaeger-collector и jaeger-query.
      • jaeger-collector
        Принимает данные трассировки, переданные и обработанные otel-collector, выполняет преобразование формата и записывает их в Elasticsearch.
      • jaeger-query
        Предоставляет API для запросов трассировки, поддерживающий многокритериальный поиск, включая TraceID и метки.
    3. Слой хранения

      • 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 визуализирует результаты на основе возвращённых данных.