awesome-everything EN
↑ Обратно к восхождению

Наблюдаемость

RED и USE: чтение PromQL и сигналов

Суть Читайте реальные запросы PromQL, отчёт PSI и сниппеты инструментирования; предсказывайте поведение и выбирайте фикс с наибольшим рычагом, который senior-инженер делает первым.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Проблемы RED и USE диагностируются чтением запросов и отчётов ядра, а не пересказом определений. Прочитайте каждый сниппет, предскажите, что он на самом деле вычисляет или экспонирует, и выберите фикс, к которому senior-инженер тянется первым.

Цель

Отработайте цикл чтения любого триажа: разобрать PromQL или строку PSI, заметить тихий дефект (выпавший label, измерение с высокой cardinality, неправильную агрегацию) и потянуться к верному исправлению.

Сниппет 1 — запрос p99

histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])))
Викторина

Панель дашборда использует это для p99 по всему флоту и показывает плоскую подозрительную линию. Что не так и каков фикс?

Сниппет 2 — отчёт PSI

/proc/pressure/memory
some avg10=18.40 avg60=12.10 avg300=4.02 total=9534120
full avg10=9.10  avg60=6.55  avg300=2.01 total=4120553
Викторина

MemAvailable на этом хосте показывает 600 МБ свободно. Читая отчёт PSI, что происходит и какого уровня алерта это заслуживает?

Сниппет 3 — счётчик Errors

errs.inc({
  method: req.method,
  route: req.route?.path,
  error_message: err.message,   // напр. "user alice@example.com not found"
});
Викторина

Этот счётчик Errors для RED проходил ревью, пока баговый релиз не утроил счёт за метрики за ночь и не вызвал тикет по безопасности. Назовите обе проблемы и единственный фикс.

Сниппет 4 — бакеты гистограммы

Histogram(
    "http_request_duration_seconds",
    "Request duration",
    buckets=[0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10],
)
# checkout SLO target: p99 под 200 мс
Викторина

Для сервиса с SLO p99 под 200 мс и трафиком, кластеризующимся между 50 и 250 мс, почему эти дефолтные бакеты — проблема и каков лучший выбор?

Итог

Каждый инцидент RED+USE читается в запросах и отчётах: histogram_quantile требует sum by (le), иначе возвращает мусор; PSI memory full выше нуля — это page-grade crunch, даже когда MemAvailable выглядит здоровым; label для RED должны быть ограниченными классами ошибок, никогда не несущим PII свободным текстом; а границы бакетов должны охватывать SLO с реальным разрешением (или используйте native histograms). Прочитайте сниппет, найдите тихий дефект, затем сделайте ограниченный, сохраняющий корректность фикс.

Продолжить восхождение ↑RED и USE: построить дашборд и провести триаж инцидента
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.