System Design Space
Граф знанийНастройки

Обновлено: 13 мая 2026 г. в 11:30

Наблюдаемость и проектирование мониторинга

средний

Практический дизайн платформы наблюдаемости: логи, метрики, распределённая трассировка, SLO-оповещения, диагностические панели, операционные инструкции и расследование инцидентов.

Наблюдаемость начинается не с графиков, а с вопроса о том, сможет ли команда объяснить деградацию раньше, чем пользователь уйдёт.

Логи, метрики, трассировки, оповещения на основе целевых уровней сервиса, операционные инструкции и контуры обратной связи здесь собраны в одну диагностическую платформу.

В архитектурном ревью глава помогает обсуждать качество сигналов, стоимость высокой кардинальности, усталость от алертов и данные, которые реально сокращают время расследования.

Практическая польза главы

Практика проектирования

Проектируйте путь телеметрии: инструментирование, сбор, хранение, корреляция, оповещение и реакция.

Качество решений

Оценивайте стек через качество сигналов, стоимость высокой кардинальности, время расследования и пригодность оповещений для дежурства.

Аргументация на интервью

Показывайте путь от симптома к причине: метрика, трассировка, лог, гипотеза и смягчение последствий.

Формулировка компромиссов

Явно обсуждайте цену детализации, сроков хранения, выборки трассировок и шума оповещений.

Источник

Site Reliability Engineering

Четыре золотых сигнала, SLI/SLO и подходы к наблюдаемости систем в промышленной эксплуатации.

Открыть главу

Observability & Monitoring Design отвечает на практический вопрос: как построить систему наблюдаемости, которая помогает принимать решения во время инцидента, а не просто копит диагностические панели. В этой главе рассматривается через логи, метрики, , , , , , и цикл улучшений после инцидента.

Типичная платформа наблюдаемости

Карта платформы

Как сигналы проходят путь от приложения до расследования инцидента и решения дежурного.

Типовая платформа разделяет сбор, транспорт, хранение и реакцию, чтобы команды могли менять каждый слой независимо.

Сервисы и клиентысборКоллекторыпередачаТранспортзаписьХранилищаанализАналитика и реакция

Сервисы и клиенты

где рождаются сигналы

Сервисы

API, очереди, фоновые задачи

Клиенты

Web, Mobile, пограничные события

Коллекторы

нормализация и обогащение

OpenTelemetry Collector

приём, фильтрация, маршрутизация

Агенты

узлы, контейнеры, соседние агенты

Транспорт

буферизация и защита от всплесков

Очередь/шина

Kafka, Pub/Sub, поток событий

Политики приёма

выборка, срок хранения, лимиты

Хранилища

разные модели чтения

Хранилище метрик

временные ряды и PromQL

Хранилище логов

поиск событий и контекста

Хранилище трассировок

спаны, зависимости, задержки

Аналитика и реакция

решение и обратная связь

Панели

SLO, RED/USE, бизнес-сигналы

Правила оповещения

алерты для дежурного и тикеты

Дежурство

инструкция, действие, разбор

Четыре опоры наблюдаемости

Логи

События и контекст для расследования инцидента.

  • в JSON вместо произвольного текста.
  • Поля корреляции: trace_id, span_id, request_id, user_id.
  • Явное разделение : info, warn, error, fatal и бизнес-ошибки.

Метрики

Числовые временные ряды для SLO, и раннего обнаружения деградаций.

  • Базовые модели: и .
  • Контроль , особенно для user_id, path и tenant.
  • Отдельные рядом с техническими сигналами.

Распределённая трассировка

Путь запроса через сервисы, очереди и базы данных от начала до конца.

  • через синхронные и асинхронные границы: HTTP, gRPC, Kafka.
  • для редких ошибок и запросов с высокой задержкой.
  • Связка трассировок, логов и метрик для быстрого поиска .

Оповещения

Правила, которые будят команду только по действительно важным отклонениям.

  • Оповещения от SLO и , а не только от CPU/RAM.
  • Разделение : будить дежурного, создать задачу или оставить информационный сигнал.
  • Каждый ведёт к .

Углубление: логи, метрики, трассировки и оповещения

Логи: от разбора событий к операционной диагностике

Логи объясняют конкретное событие: кто вызвал операцию, что пошло не так, на каком шаге и с каким контекстом.

Обязательно

  • Единый JSON-формат и стабильная версия схемы записи.
  • Корреляция по trace_id, span_id и для связи с трассировкой.
  • Явные : operation, tenant, entity_id, outcome, error_code.

Дизайн решения

  • Семплируйте информационные и отладочные события на уровне приёма событий, а не в приложении.
  • PII и секреты маскируются до отправки в конвейер логов.
  • Отделяйте от продуктовых логов, потому что у них разные сроки хранения и правила доступа.

Типичные ошибки

  • Сырые stack trace без контекста операции и входных параметров.
  • Произвольные строки без машинно-разбираемых полей.
  • Логирование всех событий без бюджета на хранение и задержку запросов.

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

{
  "ts": "2026-02-15T06:00:00Z",
  "level": "error",
  "service": "checkout-api",
  "operation": "CreateOrder",
  "trace_id": "6c5f...",
  "request_id": "req-1942",
  "tenant": "acme",
  "error_code": "PAYMENT_PROVIDER_TIMEOUT",
  "duration_ms": 1840
}

Конвейер телеметрии: от сигнала до реакции

1. Инструментация

Код и инфраструктура публикуют через OpenTelemetry SDK и коллектор.

2. Сбор и транспорт

Агенты и коллекторы нормализуют сигналы и доставляют их в хранилища без потерь.

3. Хранение

Раздельные хранилища для логов, метрик и трассировок с по стоимости.

4. Запросы и корреляция

Единая навигация между графиком, трассировкой и логами по общим идентификаторам.

5. Оповещение и реакция

Оповещения запускают процесс : первичный разбор, смягчение последствий и разбор инцидента.

Практика

Пример интервью по диагностике инцидентов

Пошаговая диагностика инцидента с применением метрик RED, логов и гипотез.

Открыть кейс

Оповещения без шума: дизайн правил

5-15 минут

Быстрое расходование бюджета

Быстро поймать критичную недоступность и сократить .

Высокая скорость расходования бюджета ошибок за короткое окно.

1-6 часов

Медленное расходование бюджета

Зафиксировать длительную деградацию качества до полного отказа.

Устойчивое отклонение задержки или доступности от SLO.

15-60 минут

Бизнес-аномалия

Увидеть до обращения клиентов.

Падение конверсии, всплеск неуспешных платежей или провал ключевого сценария.

Минимальная договорённость для команды: у каждого алерта для дежурного есть владелец, операционная инструкция и задача по итогам разбора. Без этого оповещения быстро превращаются в шум.

Источники

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки