Метрики, панели мониторинга и SLI/SLO
Превращайте необработанные данные мониторинга в полезные метрики и панели мониторинга, а также определяйте индикаторы и цели уровня обслуживания, чтобы измерять надёжность, важную для пользователей.
«Метрики, панели мониторинга и SLI/SLO» — бесплатный урок Docker & DevOps Fundamentals на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Docker & DevOps Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.
От данных к выводам
Сбор метрик — это только первый шаг. Чтобы надёжно эксплуатировать системы, нужно превращать числа в панели мониторинга и целевые показатели уровня сервиса, отражающие реальный опыт пользователей.
Четыре золотых сигнала
Google SRE рекомендует отслеживать для любого сервиса четыре сигнала: задержку, трафик, ошибки и насыщение. Они охватывают большинство проблем, с которыми сталкиваются пользователи.
Типы метрик
Распространённые виды метрик: счётчик только увеличивается (обслуженные запросы), датчик повышается и снижается (используемая память), а гистограмма распределяет значения по диапазонам (длительность запросов).
Запрос метрик
Базы данных временных рядов, такие как Prometheus, используют язык запросов для анализа метрик. Здесь мы вычисляем количество запросов в секунду за пятиминутный период.
rate(http_requests_total[5m])Создание панели мониторинга
Такие инструменты, как Grafana, превращают запросы в панели. Хорошая панель с одного взгляда отвечает на вопрос: исправно ли работает сервис прямо сейчас?
- Верхняя строка: золотые сигналы
- Ниже — панели для детализации
- Единый диапазон времени
Что такое SLI
Индикатор уровня сервиса — это измеряемый показатель, отражающий удовлетворённость пользователей, например доля запросов, успешно и быстро обработанных.
sum(rate(http_requests_total{code!~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))Что такое SLO
Целевой показатель уровня сервиса — это целевое значение SLI за определённый период, например успешное выполнение 99,9% запросов в течение 30 дней. Он определяет, что считать достаточно хорошим результатом.
SLA и SLO
SLA — это договорное обещание клиентам, часто предусматривающее штрафы. SLO — это Ваши внутренние, обычно более строгие инженерные целевые показатели.
Бюджеты ошибок
Если Ваш SLO равен 99,9%, оставшиеся 0,1% — это Ваш бюджет ошибок, то есть допустимая доля сбоев. Тратьте её на рискованные развертывания; когда она закончится, замедлите темп и стабилизируйте систему.
Оповещайте о симптомах, а не о причинах
Оповещайте людей о том, что ощущают пользователи — высокой частоте ошибок и медленных ответах, — а не о каждом кратковременном всплеске CPU. Оповещения по симптомам уменьшают шум и усталость от уведомлений.
Не плодите панели мониторинга
Слишком большое число панелей мониторинга так же плохо, как и их полное отсутствие. Поддерживайте небольшой набор надёжных панелей, за которые кто-то отвечает и которые связаны с Вашими SLO, вместо десятков устаревших панелей.
Быстрая проверка
Как связаны SLO и бюджеты ошибок?
Повторение
Теперь Вы умеете делать мониторинг осмысленным:
- Отслеживайте четыре золотых сигнала
- Различайте счётчики, датчики и гистограммы; выполняйте запросы с помощью rate()
- Определяйте SLI (измеряемые показатели) и SLO (целевые показатели)
- Бюджеты ошибок задают темп развертываний; оповещайте о симптомах
Надёжность становится тем, что Вы измеряете и регулируете, а не просто надеетесь на неё.
Часто задаваемые вопросы
Урок «Метрики, панели мониторинга и SLI/SLO» бесплатный?
Да — полный текст урока «Метрики, панели мониторинга и SLI/SLO» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Docker & DevOps Fundamentals, подпишись на CoddyKit PRO. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Метрики, панели мониторинга и SLI/SLO»?
Превращайте необработанные данные мониторинга в полезные метрики и панели мониторинга, а также определяйте индикаторы и цели уровня обслуживания, чтобы измерять надёжность, важную для пользователей. Ты практикуешь Docker & DevOps Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Docker & DevOps Fundamentals?
Предыдущий опыт не требуется. Docker & DevOps Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Метрики, панели мониторинга и SLI/SLO»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Docker & DevOps Fundamentals?
Да. Каждый урок Docker & DevOps Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Введение в мониторинг
- Решения для централизованного журналирования
- Оповещения и реагирование на инциденты
- Метрики, панели мониторинга и SLI/SLO