Skip to main content
Back to course
Распределенная трассировка: от основ до production
2 / 1811%

Первый трейс за 15 минут

25 минут

Цель урока

Увидеть реальный трейс в UI за ~15 минут — так же, как в истории из первой главы. Никакой теории, только запуск и результат.

Что понадобится

  • Docker (любая свежая версия).
  • 2 свободных порта: 16686 (для просмотра трейсов) и 8080 (для демо-приложения). Порт 4318 слушает Jaeger для приема данных от приложений.

Шаг 1. Запускаем Jaeger (демо-режим)

docker run -d --name jaeger \
  -e COLLECTOR_OTLP_ENABLED=true \
  -p 16686:16686 -p 4318:4318 \
  jaegertracing/all-in-one:1.55

Что происходит:

  • 16686 — браузерный порт: откройте http://localhost:16686 и увидите UI.
  • 4318 — порт для приема данных (OTLP HTTP) от приложений.
  • all-in-one — упрощенный демо-режим, не для продакшена.

Если 16686 занят, замените его в -p 16686:16686 на, например, -p 16687:16686 и откройте http://localhost:16687.


Шаг 2. Запускаем демо-приложение (HotROD)

docker run -d --name hotrod \
  -p 8080:8080 \
  --link jaeger \
  jaegertracing/example-hotrod:1.55 \
  all \
  --jaeger-agent.host=jaeger

Что происходит:

  • Поднимается демо такси-приложение на http://localhost:8080.
  • Параметр --jaeger-agent.host=jaeger говорит приложению, куда слать трейсы.
  • Флаг --link jaeger дает контейнеру имя jaeger в сети (достаточно для демо).

Шаг 3. Создаем трейсы

  1. Откройте http://localhost:8080.
  2. Нажмите любую кнопку на карте (“123” или “987”).
  3. Подождите 3–5 секунд — в этот момент создается трейс.
  4. Повторите 2–3 раза, чтобы появился список трассировок.

Каждый клик генерирует цепочку спанов через несколько сервисов.


Шаг 4. Смотрим трейс в Jaeger

  1. Откройте http://localhost:16686 → вкладка Search.
  2. В поле Service выберите frontend.
  3. Нажмите Find Traces и кликните на самый верхний (свежий) трейс.

Что ищем в открывшемся трейсе:

  • Вверху — общее время запроса (например, “4.8s”).
  • Разноцветные горизонтальные полоски — это spans (отдельные операции).
  • Ищите самую длинную полоску — обычно это route или database в HotROD.
  • Название span подскажет, что именно тормозит.

Чеклист успеха

  • В поиске Jaeger вижу список трейсов с временем (“4.8s”, “2.1s”).
  • Открыл трейс — вижу разноцветные полоски (спаны).
  • Нашел самую длинную полоску и прочитал ее название (route/database).
  • Понимаю, что это тот самый «GPS-трекер для запроса» из первой главы.

Не видите трейсы? Проверьте: docker ps — оба контейнера в статусе Up. Подождите 30 секунд после кликов. Попробуйте другой сервис в поиске: customer или route. Если порты заняты, смените значения в -p и перезапустите контейнеры.


Что дальше

Теперь, когда вы увидели трейс «вживую», переходите к разбору его внутренностей: spans, context и propagation.

Первый трейс за 15 минут — Распределенная трассировка: от основ до production — Potapov.me