Четыре золотых сигнала
Узнаем какие четыре ключевые метрики мониторинга помогают оценивать производительность и доступность систем
Почему это важно?
В книжке Гугла Site Reliability Engineering описывается четыре золотых сигнала (SRE) — это четыре ключевые метрики мониторинга, которые помогают оценивать производительность и доступность систем, а также быстро реагировать на возможные проблемы

Эти сигналы
задержка, трафик, ошибки и насыщенность
помогают специалистам SRE и DevOps-командам сфокусироваться на аспектах системы, которые оказывают наибольшее влияние на пользовательский опыт и стабильность

Рассмотрим подробнее каждый из сигналов:

ПЕРВЫЙ СИГНАЛ

Задержка (Latency)

Задержка — это время, которое требуется системе для обработки запроса. Другими словами, это время между запросом и ответом. Это могут быть как пользовательские запросы так и запросы внутри системы к какому-то компоненту

В SRE важно разделять понятия общей задержки и задержки при ошибках. Например, если запрос завершился сбоем, важно измерить, сколько времени заняло ожидание до ошибки, так как высокая задержка, даже при ошибочных запросах, негативно влияет на пользователя
Почему это важно:

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

Среднее время ответа для API-запросов, задержка при загрузке страниц, время отклика базы данных.

ВТОРОЙ СИГНАЛ

Трафик (Traffic, Throughput)

Трафик описывает объем запросов или операций, которые проходят через систему за определенное время. Обычно измеряется в количестве запросов в секунду (RPS), количестве пользователей на сайте или объеме данных в единицу времени
Почему это важно:

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

Количество входящих HTTP-запросов на сервер, активных пользователей, объем входящего и исходящего трафика в сети

ТРЕТИЙ СИГНАЛ

Ошибки (Errors)

Ошибки отражают процент или количество запросов, которые завершились неудачно. Это могут быть сбои на уровне приложения, коды ошибок HTTP, таймауты запросов и другие проблемы, которые в итоге приводят к отказу в обслуживании
Почему это важно:

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

Ошибки HTTP (например, 500, 503, 404), таймауты при подключении к сервисам, сбои авторизации

ЧЕТВЕРТЫЙ СИГНАЛ

Насыщенность (Saturation)

Насыщенность — это степень использования ресурсов системы. Она показывает, насколько система близка к своим предельным возможностям и есть ли риск исчерпания ресурсов. Насыщенность обычно измеряется на уровнях таких как:

  • Инфраструктурный: процессор, память, дисковое пространство, пропускная способность сети
  • Сервисный: кеши, системы очередей, базы данных, микросервисы, внешние сервисы
  • Уровень приложения и бизнес метрики: заказы, операции
Почему это важно:

Насыщенность помогает понять, насколько эффективно система использует свои ресурсы и как близка нагрузка к точке отказа. С одной стороны если ресурсов слишком много они могут использоваться неэффективно, и это в теории это значит, что расходы на инфраструктуру можно сократить. С другой стороны, если хотя бы один из компонентов перегружен, это может привести к снижению производительности, задержкам и росту числа ошибок и в конечном счёте к отказу (инциденту). Поэтому необходимо отслеживать насыщенность и заниматься планированием нагрузки, вовремя масштабироваться находить и избавляться от узких мест
Примеры:

Использование CPU на сервере, доступная память, заполнение диска, текущая пропускная способность сети
Быстрые выводы

Четыре золотых сигнала помогают командам настроить мониторинг так, чтобы быстро выявлять и устранять проблемы. Например, если обнаруживается рост задержек и ошибок при повышенном трафике, это может указывать на перегрузку ресурсов или проблемы с масштабируемостью. Регулярное отслеживание этих сигналов позволяет находить баланс между стабильностью и производительностью системы, оперативно реагировать на аномалии и улучшать пользовательский опыт
Что важно

Эти метрики вместе создают основу для мониторинга в SRE и помогают сфокусироваться на приоритетах при устранении инцидентов
"Обучение - это ключ к раскрытию своего потенциала"
Уинстон Черчилль
Британский государственный и политический деятель
Давайте раскрывать потенциал на максимум:
Технические вызовы и проблемы на разных стадиях развития ИТ-компаний
Возвращаемся к обсуждению стадий жизненного цикла IT-компаний, но через призму технических вызовов
Легаси
Разберемся в том, что такое легаси, какие полезные навыки можно получить работая с легаси, костылями и хранителями легаси
Антипаттерны в DevOps и SRE: Частые ошибки и способы их предотвращения
Выделим и рассмотрим основные антипаттерны в DevOps и SRE — распространённые ошибки, которые могут свести на нет все преимущества данных подходов
Как создать культуру взаимодействия между DevOps и SRE-инженерами для повышения скорости разработки и надежности систем
В теории DevOps и SRE команды зачастую описываются как слаженный организм, который призван работать на благо компании, но на практике оказывается, что коммуникация между командами далеко не всегда является слаженной и эффективной
SLO, SLI и SLA
Разница между ними, примеры использования