Logging strategy на собеседовании системного аналитика

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем разбирать на собесе

Logging — основа observability. На собесе SA: «зачем structured», «correlation ID».

Log levels

Стандарт:

  • DEBUG. Detail для devs, выключен в проде.
  • INFO. Normal operation events.
  • WARN. Странные ситуации, но не failures.
  • ERROR. Failures, требующие attention.
  • FATAL / CRITICAL. Critical, system unusable.

В проде typically INFO+. Отдельный sample DEBUG (1-5%) для diagnostics.

Structured logs (JSON)

Plain text:

[2026-05-07 12:00:00] User 42 ordered product 17 with amount 100

Structured:

{"ts":"2026-05-07T12:00:00Z","level":"INFO","msg":"order_created","user_id":42,"product_id":17,"amount":100}

Преимущества JSON:

  • Easy parsing.
  • Aggregations в Elasticsearch / Loki / DataDog.
  • Filtering по fields, не regex.

В современных apps — почти всегда JSON.

Correlation IDs

При user request flows через 5 сервисов — нужен ID для tracking.

Request comes → generate trace_id "abc123"
Pass в headers (X-Request-ID, X-Trace-ID) к downstream.
Каждый log включает trace_id.

В debug — filter logs by trace_id → видишь полный путь request.

Distributed tracing (Jaeger, Tempo) — formal version. Добавляет span_ids внутри trace.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Не logging

Sensitive data.

  • Пароли (в plaintext) — никогда.
  • Card numbers — masked (****1234).
  • Personal data per 152-ФЗ / GDPR.
  • API keys / tokens.

Слишком много.

  • Каждый row processing — спам, бесполезно.
  • Стандарт: log start / end of operation, не каждый step.

Структурированные данные. Не логируй огромные blobs (10MB JSON) — переполняет storage.

Retention

Logs накапливаются.

  • Hot storage (Elasticsearch / Loki): 7-30 days. Fast query.
  • Cold (S3 / Glacier): 1-7 years. Compliance.
  • Archive policy — auto-move через TTL.

Compliance может requirement: SOX — 7 years, GDPR — minimal.

Связанные темы

FAQ

Это официальная информация?

Нет. Статья основана на индустриальных best practices observability.


Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.