Эксплуатация · База
Как добавить структурированные логи
Логировать важные события с request id, пользователем, операцией и контекстом ошибки.
Кратко: за 2 минуты
Логировать важные события с request id, пользователем, операцией и контекстом ошибки. На выходе: логи можно фильтровать.
Когда применять
Пункт относится к этапу «Эксплуатация». Его задача — сделать сервис понятным и безопасным в эксплуатации. Он нужен до передачи результата разработчикам, QA и команде эксплуатации: иначе команда рискует логировать только текст без полей.
Что это дает
Структурированные логи позволяют быстро расследовать инциденты и связывать действия между сервисами. Это помогает связать работу с общей целью: надежная, безопасная и поддерживаемая система. Практический эффект виден, когда логи можно фильтровать.
Пошагово: как выполнить
- Добавьте correlation id.
- Логируйте бизнес-события и ошибки.
- Исключите персональные данные и секреты.
Критерии приемки
- Логи можно фильтровать.
- Есть request/correlation id.
- Чувствительные данные не попадают в лог.
Типичные ошибки
- Логировать только текст без полей.
- Писать слишком много шума.
- Логировать токены, карты или пароли.
Инструменты
Пример
Плохой пример
Логировать только текст без полей.
Хороший пример
Учебный пример. Для ошибки оплаты записаны event, requestId, orderId, код результата и длительность. Тело запроса с платежными данными исключено; по requestId оператор находит связанные события без поиска по произвольному тексту.
Шаблон
Схема событий журнала
Скачать рабочий лист этого урока
Выбрать рабочий шаблонРабочий артефакт
Runbook
Схема событий журнала
Учебный пример. Для ошибки оплаты записаны event, requestId, orderId, код результата и длительность. Тело запроса с платежными данными исключено; по requestId оператор находит связанные события без поиска по произвольному тексту.
- Logs
- Metrics
- Alerts
- Rollback
Контроль качества
Операционная готовность сервиса
Логи можно фильтровать.
После изменения контрактов, релизов, инцидентов, роста нагрузки и пересмотра архитектурных решений.
Контракт, ограничения, сценарии отказа, метрики, владельца сервиса и критерии готовности.
Перед отметкой выполнено: Логи можно фильтровать.
Как применять
Начинайте с границ ответственности и пользовательского сценария, который обслуживает система. Затем проверьте контракт, данные, отказоустойчивость, безопасность и наблюдаемость. Хороший backend-пункт фиксирует, что именно меняется, как это проверить и какие метрики покажут стабильность решения.
Короткие ответы
Частые вопросы
Зачем выполнять пункт «Как добавить структурированные логи»?
Структурированные логи позволяют быстро расследовать инциденты и связывать действия между сервисами. Это помогает связать работу с общей целью: надежная, безопасная и поддерживаемая система. Практический эффект виден, когда логи можно фильтровать.
С чего начать выполнение?
Добавьте correlation id.
Как понять, что пункт выполнен?
Логи можно фильтровать.
Какая ошибка чаще всего мешает результату?
Логировать только текст без полей.
Режим обучения
Тест по теме
Проверка понимания
Ответьте на вопросы по материалу и получите итоговый отчет: что понято хорошо, а что стоит перечитать.
Для углубленного изучения
Редакция Ariol · Версия 2 · Обновлено
Независимая экспертная проверка не заявлена.
Что обновлено
- — Обновлено: Название, Шаблон результата, Пример, Плохой пример, Заголовок поиска, Описание поиска, Поисковые фразы.
Материал предназначен для обучения. Адаптируйте рекомендации к внутренним регламентам компании и условиям проекта.
Предложить исправление через контакты Ariol