Как использовать логи для выявления и уточнения ошибок?
Что проверяют
Умеете ли вы сами дойти от жалобы пользователя до конкретного запроса и места сбоя, а не пересылать разработчикам скриншот. Для аналитика следом обычно спрашивают, какие требования к логированию вы закладываете в постановку.
Как отвечать
Покажите путь расследования:
- зацепки из обращения: время с часовым поясом, идентификатор пользователя или заказа, действие, окружение. Без них поиск превращается в чтение всего подряд;
- поиск в хранилище логов: Kibana с запросами на KQL, Grafana Loki с LogQL, Graylog, для исключений Sentry. Для разовой выгрузки хватает
grepиjqпо JSON-логам; - трассировка: находите нужную запись, берёте
trace_idилиrequest_idи фильтруете по нему. Так видна вся цепочка через сервисы, очереди и внешние интеграции; - первая ошибка, а не последняя: ответ 500 на клиенте часто лишь следствие таймаута где-то глубже. Смотрите и на
WARNперед сбоем; - сравнение с удачным случаем: тот же сценарий у другого пользователя проходит? Разница во входных данных часто и есть причина.
Результат расследования: понятно, дефект это кода, данных или требований. Ошибка из-за пробела в постановке, например не описан сценарий пустого справочника, это правка требований, а не баг разработчика. В заявке указываете шаги, ожидаемое и фактическое поведение, окружение и выдержку из лога с trace_id.
Вторая часть ответа: что вы требуете от логов в постановке. Единый структурированный формат, время в UTC, уровень, имя сервиса, идентификатор трассировки, ключевые бизнес-идентификаторы. И отдельный пункт: в логи не пишутся пароли, токены и персональные данные в открытом виде, это требование 152-ФЗ и базовая безопасность.
Где спотыкаются
Ищут причину по последней строке с ERROR. Она показывает, где упало, а не почему, первопричина обычно на несколько записей раньше или в другом сервисе.
Путают часовые пояса. Пользователь пишет «в 15:00 по Москве», логи ведутся в UTC, и поиск идёт по окну, сдвинутому на три часа.
Делают вывод по одной записи, не проверив, повторяется ли картина на других запросах. Единичный сбой сети и системная ошибка в логике требуют разных задач.