awesome-everything EN
↑ Обратно к восхождению

Наблюдаемость

Структурное логирование: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту — контракт схемы, маршрутизация по log level, экономика sampling, защита от утечки PII и log injection, корреляция по trace, и разделение audit-логов.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов поперёк всего юнита. Каждый — это решение, которое ты принимаешь, пока сервис горит в 03:00: не определение для заучивания, а компромисс между счётом, алертом, аудитом и расследованием.

Цель

Убедись, что связываешь контракт схемы, лестницу log level, экономику sampling, защиту от PII и injection, корреляцию по trace и разделение audit-логов — тот синтез, к которому вели отдельные уроки.

Викторина

Два сервиса одной команды пишут JSON-логи, но один называет поле http.response.status_code, а другой — status. Оба валидный JSON. Почему это всё равно ломает on-call?

Викторина

Хелпер ретраев пишет ERROR на каждой из 5 попыток, включая 3 успешные. Канал on-call стал шумом, а реальный ERROR на прошлой неделе пропустили. Какой правильный фикс и почему?

Викторина

Один сервис на 1000 req/s с JSON-логами по 1 КБ стоит ~$260/мес на ingest. Какой первый рычаг, чтобы срезать ~90% без потери возможности расследовать сбои?

Викторина

Хендлер интерполирует присланный пользователем текст комментария прямо в строку лог-сообщения. Пользователь шлёт комментарий с переводом строки, за которым идёт поддельный ERROR-объект JSON. Какой это класс сбоя и какой структурный фикс?

Викторина

Node-сервис сообщает, что ~5% лог-строк несут trace_id = '00000000000000000000000000000000'. Как это читать?

Викторина

Команда хранит операционные логи и audit-логи (логины, выдача ролей, доступ к регулируемым данным) в одном индексе с retention 30 дней. Почему это сбой комплаенса, а не вопрос аккуратности?

Итог

Сквозная линия юнита — это один конвейер решений: стабильная схема (имена полей OTel) делает логи запрашиваемыми и соединяемыми; лестница log level маршрутизирует объём в хранилище, а severity — к людям; sampling держит счёт пропорциональным инцидентам, всегда сохраняя WARN/ERROR; дисциплина PII и защита от CWE-117 injection — это заботы безопасности первого порядка, решаемые у источника и на коллекторе; trace_id делает лог-строку узлом графа observability, а не островом; и audit-логи разделяют JSON-схему, но требуют своего pipeline, retention, immutability и доступа. Каждый ответ сводится к тому, чтобы относиться к лог-строке как к API-контракту, на который полагаются и твой on-call, и твой аудитор.

Продолжить восхождение ↑Структурное логирование: тест с краткими ответами
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.