devnoize справочник

Глоссарий

Термины, которые используются в справочнике. Для англоязычных терминов в скобках приведён оригинал: он пригодится при чтении документации к инструментам.

SLA (service level agreement)
Соглашение об уровне обслуживания: обязательство перед клиентом с последствиями при нарушении. Обычно мягче внутреннего SLO, чтобы оставался запас.
SLI (service level indicator)
Показатель уровня обслуживания: измеряемая величина, отражающая опыт пользователя. Например, доля запросов, выполненных успешно и быстрее 300 мс.
SLO (service level objective)
Цель уровня обслуживания: целевое значение SLI за период, например 99,9% успешных запросов за 30 дней. Основа для алертов по бюджету ошибок.
Агрегация
Объединение нескольких временных рядов в один с помощью функции — суммы, среднего, максимума — с отбрасыванием части меток. См. правила записи.
Алерт (alert)
Автоматическое уведомление о состоянии системы, требующем внимания. В справочнике различаются вызов дежурного и несрочные алерты, превращающиеся в задачи.
Аудит-лог
Журнал действий, значимых с точки зрения безопасности и ответственности: входы, изменения прав, финансовые операции. Не семплируется и хранится по отдельным правилам.
Бюджет ошибок (error budget)
Допустимое количество неуспешных событий за период, вытекающее из SLO. При цели 99,9% бюджет составляет 0,1% запросов.
Временной ряд (time series)
Последовательность значений метрики во времени для одного уникального сочетания имени и значений меток.
Вызов дежурного (page)
Алерт, доставляемый так, чтобы прервать человека: звонок, push-уведомление с сигналом. Оправдан только для реальных, срочных проблем, требующих человека.
Гистограмма (histogram)
Тип метрики, раскладывающий наблюдения по заранее заданным корзинам. Позволяет вычислять перцентили и агрегировать их между экземплярами.
Группировка алертов
Объединение алертов с одинаковыми метками в одно уведомление, чтобы одна проблема не порождала десятки сообщений.
Дайджест
Сводка несрочных событий за период, доставляемая одним сообщением в предсказуемое время.
Дашборд (dashboard)
Набор графиков, отвечающий на конкретный вопрос о состоянии системы. См. как устроить дашборд.
Датчик (gauge)
Тип метрики, значение которой может расти и убывать: длина очереди, объём занятой памяти.
Дедупликация
Подавление повторных уведомлений об уже известной проблеме до истечения интервала повтора.
Дежурство (on-call)
Порядок, при котором назначенный инженер отвечает на вызовы в течение смены, включая нерабочее время.
Золотые сигналы
Четыре показателя, которые описывают состояние почти любого сервиса: задержка, трафик, ошибки и насыщение.
Идентификатор трассировки (trace ID)
Уникальный идентификатор, передаваемый между сервисами вместе с запросом. Позволяет связать все записи лога и отрезки трассировки одного запроса.
Инструкция (runbook)
Документ с первыми шагами диагностики и устранения для конкретного алерта. Ссылка на инструкцию обязательна для каждого правила вызова.
Карантин тестов
Временное исключение нестабильного теста из блокирующего прогона с сохранением его запуска в отдельном задании. Требует владельца и срока. См. карантин.
Кардинальность
Число уникальных временных рядов метрики, равное произведению количеств значений всех меток. Высокая кардинальность — основная причина перегрузки систем мониторинга.
Корреляция событий
Связывание записей логов, метрик и трассировок, относящихся к одному запросу или инциденту, обычно по идентификатору трассировки и времени.
Линтер (linter)
Программа статического анализа, находящая вероятные ошибки и нарушения соглашений в коде без его запуска.
Ложное срабатывание (false positive)
Сообщение о проблеме, которой нет. Частые ложные срабатывания приводят к усталости от алертов.
Лог (log)
Журнал событий, записываемых приложением. Предназначен для расследования инцидентов, аудита и отладки.
Метка (label)
Пара «имя — значение», уточняющая метрику: метод запроса, маршрут, класс кода ответа. Значения должны принадлежать небольшому известному множеству.
Метрика (metric)
Числовое значение, измеряемое во времени. Основные типы — счётчик, датчик и гистограмма.
Насыщение (saturation)
Степень загрузки самого ограниченного ресурса сервиса: пула соединений, процессора, дисковой очереди. Один из золотых сигналов.
Нестабильный тест (flaky test)
Тест, который на одном и том же коде в одном и том же окружении иногда проходит, а иногда падает.
Перцентиль (percentile)
Значение, ниже которого лежит заданная доля наблюдений. 99-й перцентиль задержки — время, в которое укладываются 99% запросов.
Подавление (inhibition)
Скрытие алертов-следствий, пока активен алерт-причина. Например, при недоступности базы данных не сообщать об ошибках каждого зависящего от неё сервиса.
Правило записи (recording rule)
Заранее вычисляемое выражение над метриками, результат которого сохраняется как новый временной ряд.
Пропуск (false negative)
Проблема, о которой система не сообщила. Связан с ложными срабатываниями: снижение одного обычно увеличивает другое.
Ротация логов
Периодическое переименование, сжатие и удаление файлов логов по времени или размеру, чтобы ограничить занимаемое место.
Семплинг (sampling)
Запись только части однотипных событий: каждого N-го или первых N за интервал времени.
Сигнал
Сообщение системы, которое приводит к полезному действию или меняет решение получателя. Противоположность шуму.
Скорость расходования бюджета (burn rate)
Отношение фактической доли ошибок к допустимой. Скорость 1 означает, что бюджет закончится ровно к концу периода SLO.
Структурированный лог
Лог, в котором каждая запись — набор именованных полей (обычно в JSON), а не произвольная строка.
Счётчик (counter)
Тип метрики, значение которой только растёт (сбрасываясь при перезапуске). Анализируется через скорость роста.
Трассировка (tracing)
Запись пути запроса через сервисы в виде дерева отрезков с временем выполнения каждого.
Уровень логирования
Метка важности записи лога: DEBUG, INFO, WARNING, ERROR, CRITICAL. См. таблицу уровней.
Усталость от алертов (alert fatigue)
Снижение внимания к уведомлениям из-за большой доли ложных срабатываний. Приводит к пропуску настоящих проблем.
Форматер (formatter)
Программа, автоматически приводящая код к единому стилю. Убирает вопросы стиля из код-ревью.
Хук pre-commit
Проверка, автоматически выполняемая системой контроля версий перед созданием коммита.
Шум
Сообщение, которое отнимает внимание, но не приводит к действию. Определяется контекстом получателя. См. «Что такое шум».
Эскалация
Передача вызова следующему уровню, если текущий дежурный не подтвердил его за заданное время.