Выбор ответа Junior Логи: Loki и ELK спрашивают часто обновлено

Связать логи одного запроса

Вопрос

Запрос прошёл через 5 сервисов. Как найти все строки логов, относящиеся именно к нему?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Писать traceid в каждую строку и передавать дальше. Идентификатор, проброшенный через все вызовы (заголовок W3C traceparent при OpenTelemetry), делает поиск точным.

Варианты ответа

  1. Искать по времени запроса с точностью до миллисекунды
  2. Искать по IP клиента во всех сервисах цепочки
  3. Писать trace_id в каждую строку и передавать дальшеправильный ответ
  4. Включить DEBUG во всех сервисах и смотреть подряд

Разбор

Идентификатор, проброшенный через все вызовы (заголовок W3C traceparent при OpenTelemetry), делает поиск точным. По времени и IP найдутся чужие запросы, особенно под нагрузкой, а внутри кластера IP вообще принадлежит соседнему сервису. DEBUG добавит шума, но не связи.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.