Выбор ответа Middle Деплой и эксплуатация обновлено

Структурированные логи

Вопрос

Зачем писать логи сервиса в JSON с полями request_id, user_id, duration_ms, а не текстом?

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

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

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

Коротко

Правильный ответ: Сборщик индексирует поля для поиска и графиков, requestid связывает записи. Структурированный лог позволяет найти все записи запроса по requestid, отфильтровать ошибки конкретного пользователя или посчитать медленные запросы без регулярных выражений.

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

  1. JSON занимает меньше места на диске и быстрее передаётся сборщику логов
  2. Текстовые логи не поддерживаются драйвером логирования Docker по умолчанию
  3. Чтобы персональные данные в логах нельзя было прочитать без специального инструмента
  4. Сборщик индексирует поля для поиска и графиков, request_id связывает записиправильный ответ

Разбор

Структурированный лог позволяет найти все записи запроса по request_id, отфильтровать ошибки конкретного пользователя или посчитать медленные запросы без регулярных выражений. Размер не главное и часто даже больше. Текст в Docker разрешён, а читать JSON людям помогают инструменты просмотра. Персональные данные и секреты в логи не пишут.

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

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