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

Наблюдаемость без шума: от задержки до SLO

Курс учит выбирать полезные сигналы телеметрии, отличать загрузку от насыщения, читать хвост задержки и связывать SLI, SLO и бюджет ошибок.

База → эксплуатация45 минут4 модуля5 вопросов
После курса

Что вы сможете сделать

  1. Разделять наблюдаемость, телеметрию и систему хранения данных наблюдения.
  2. Читать задержку по границам измерения и процентилям, а не только по среднему.
  3. Не путать загрузку, насыщение, глубину очереди и счётчики ошибок.
  4. Связывать пользовательский SLI с SLO, окном и политикой бюджета ошибок.
Модуль 1 из 4

Слой 1. Наблюдаемость и её сигналы

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

  • Наблюдаемость помогает судить о внутреннем состоянии по выходным данным, а OpenTelemetry поставляет сигналы и не является системой хранения мониторинга.

  • Телеметрия включает трассировки, метрики и журналы: число, событие и путь запроса отвечают на разные вопросы.

  • TraceId, SpanId, временная метка и атрибуты ресурса позволяют сопоставить запись журнала с конкретным запросом и компонентом.

Модуль 2 из 4

Слой 2. Latency, percentiles и throughput

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

  • Задержка имеет смысл только с точными началом, концом и направлением измерения; односторонняя задержка требует определённых конечных точек.

  • Среднее может скрыть редкие медленные запросы, а p95/p99 показывают границу, быстрее которой завершилась заданная доля наблюдений.

  • Пропускную способность указывают вместе со слоем и интервалом: Ethernet, TCP и полезная нагрузка приложения дают разные числа.

Модуль 3 из 4

Слой 3. Загрузка не равна насыщению

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

  • Загрузка — доля занятого ресурса за интервал; без знаменателя, набора CPU и окна процент неоднозначен и не доказывает насыщение.

  • Насыщение означает задержки из-за конкуренции за ресурс; PSI показывает долю времени, когда задачи простаивали из-за давления на CPU, память или I/O.

  • Глубина очереди показывает выполняющиеся операции I/O, но не заменяет задержку; счётчик ошибок читают как прирост за интервал и нормируют по трафику.

Модуль 4 из 4

Слой 4. От пользовательского сигнала к решению

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

  • SLI — количественная мера важного для пользователя поведения с явно заданными допустимыми и успешными событиями, точкой измерения и окном.

  • SLO задаёт целевой уровень для SLI и обязан фиксировать область действия, метод измерения, условия и окно.

  • Для доступности SLO бюджет ошибок равен 1 минус SLO; политика заранее определяет действия при его исчерпании.

Финишная прямая

Проверьте инженерное мышление

Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.

01Средняя задержка равна 50 мс, но пользователи жалуются на редкие зависания. Что проверить первым?
02Загрузка CPU умеренная, но PSI показывает длительные простои. Какой вывод корректен?
03Кумулятивный счётчик ошибок RX вырос со 100 до 115 за пять минут. Что уже можно сказать?
04Какая пара определений верна?
05SLO равен 99,9% на 1 000 000 допустимых запросов. Каков бюджет ошибок?
Проверяемая база

Источники курса

Ссылки приведены один раз для всего курса, чтобы не мешать чтению каждого тезиса.

  • Официальная документация

    What Is OpenTelemetry

    OpenTelemetry · OpenTelemetry documentation, обновлено в 2026 году

    Определяет observability через понимание внутреннего состояния по outputs и отделяет instrumentation от backend.

    Открыть первоисточник
  • Первичная спецификация

    OpenTelemetry Specification Overview

    OpenTelemetry · OpenTelemetry Specification 1.60.0

    Описывает signals, raw measurements, aggregation, resources и context propagation.

    Открыть первоисточник
  • Официальная документация

    Signals

    OpenTelemetry · OpenTelemetry documentation, 10 марта 2026 года

    Определяет traces, metrics и logs как разные telemetry signals.

    Открыть первоисточник
  • Первичная спецификация

    OpenTelemetry Logs Data Model

    OpenTelemetry · Stable data model, проверено 29 августа 2026 года

    Определяет Timestamp, severity, body, resource, attributes, TraceId и SpanId LogRecord.

    Открыть первоисточник
  • Первичная спецификация

    OpenTelemetry Logging and Correlation

    OpenTelemetry · OpenTelemetry Specification 1.60.0

    Описывает correlation logs, traces и metrics по time, trace context и resource context.

    Открыть первоисточник
  • Первичная спецификация

    RFC 7679: A One-Way Delay Metric for IP Performance Metrics

    Internet Engineering Task Force · RFC 7679 / STD 81, January 2016

    Определяет one-way delay sample между source и destination с точными packet и time conditions.

    Открыть первоисточник
  • Официальная документация

    Service Level Objectives

    Google Site Reliability Engineering · Site Reliability Engineering, Chapter 4

    Определяет SLI, SLO и SLA и объясняет user-centric latency, error rate, throughput и percentiles.

    Открыть первоисточник
  • Официальная документация

    Histograms and Summaries

    Prometheus · Prometheus documentation, проверено 29 августа 2026 года

    Определяет quantiles/percentiles, histogram buckets и ограничения aggregation precomputed quantiles.

    Открыть первоисточник
  • Первичная спецификация

    RFC 5136: Defining Network Capacity

    IETF · RFC 5136, February 2008

    Разделяет nominal link capacity, available capacity и измерение результата на выбранном protocol layer.

    Открыть первоисточник
  • Первичная спецификация

    Semantic Conventions for System Metrics

    OpenTelemetry · Semantic Conventions 1.44.0, development status

    Задаёт system CPU, memory, disk и network metric names, units, attributes и utilization calculation.

    Открыть первоисточник
  • Официальная документация

    Pressure Stall Information

    Linux Kernel · Linux kernel documentation, проверено 29 августа 2026 года

    Определяет CPU/memory/I/O pressure через долю времени stalled tasks и связывает contention с latency/throughput loss.

    Открыть первоисточник
  • Официальная документация

    I/O Statistics Fields

    Linux Kernel · Linux 6.15 documentation

    Определяет /proc/diskstats fields, включая I/Os currently in progress и weighted I/O time.

    Открыть первоисточник
  • Официальная документация

    Interface Statistics

    Linux Kernel · Linux kernel documentation, проверено 29 августа 2026 года

    Разделяет standard, protocol-specific и driver-defined network counters, включая errors и drops.

    Открыть первоисточник
  • Официальная документация

    Metric Types

    Prometheus · Prometheus documentation, проверено 29 августа 2026 года

    Определяет counter, gauge, histogram и summary, включая resets и cumulative behavior.

    Открыть первоисточник
  • Официальная документация

    Implementing SLOs

    Google Site Reliability Engineering · The Site Reliability Workbook, Chapter 2

    Описывает построение SLI/SLO от пользовательской цели, measurement window и error-budget policy.

    Открыть первоисточник
  • Официальная документация

    Example Error Budget Policy

    Google Site Reliability Engineering · Published policy, 19 февраля 2018 года

    Определяет error budget как 1 minus SLO и связывает exhaustion с заранее согласованными actions.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие