Выбор ответа Junior Логи: Loki и ELK спрашивают часто обновлено
Связать логи одного запроса
Вопрос
Запрос прошёл через 5 сервисов. Как найти все строки логов, относящиеся именно к нему?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Писать traceid в каждую строку и передавать дальше. Идентификатор, проброшенный через все вызовы (заголовок W3C traceparent при OpenTelemetry), делает поиск точным.
Варианты ответа
- Искать по времени запроса с точностью до миллисекунды
- Искать по IP клиента во всех сервисах цепочки
- Писать
trace_idв каждую строку и передавать дальшеправильный ответ - Включить DEBUG во всех сервисах и смотреть подряд
Разбор
Идентификатор, проброшенный через все вызовы (заголовок W3C traceparent при OpenTelemetry), делает поиск точным. По времени и IP найдутся чужие запросы, особенно под нагрузкой, а внутри кластера IP вообще принадлежит соседнему сервису. DEBUG добавит шума, но не связи.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.