Linux Labs

Наблюдаемость: метрики, алерты, логи / Ступень 2 из 9

PromQL: rate, sum и сравнение

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 6 · на машине · 7 мин

Скорость счётчика

Разницу двух чисел, делённую на время, PromQL считает сам — по всем отсчётам за окно.

PromQL — язык запросов Prometheus. Запрос по имени метрики возвращает последнее значение каждого ряда — это мгновенный вектор. Если дописать к нему окно в квадратных скобках, node_network_receive_bytes_total[1m], вернутся все отсчёты за последнюю минуту — вектор за интервал.

Функция <code>rate</code> берёт вектор за интервал и считает средний прирост в секунду за это окно:

bash
promtool query instant http://localhost:9090 \
  'rate(node_network_receive_bytes_total[1m])'

Получится около 200 000 — те же 200 КБ в секунду, что ты посчитал по двум запросам. Если с подготовки прошло меньше минуты, окно заполнено не целиком и число меньше. Имени метрики в ответе нет: скорость — уже другая величина, а метки ряда остались. increase(…[1m]) считает то же, но итогом за окно — сколько байт пришло за минуту.

Счётчик обнуляется, когда перезапускается его служба. rate и increase видят падение и считают его сбросом: счёт продолжается от нуля, и скорость не становится отрицательной. Для gauge rate не нужен — его значение уже «сейчас».

Проверь себя 1 вопрос

labapp перезапустили, и его счётчик запросов упал с 5000 до 30. Что покажет rate(labapp_http_requests_total[1m]) для этого ряда через 10 секунд?

  • rate считает падение счётчика сбросом и продолжает счёт от нуля: скорость не бывает отрицательной.

  • Прирост после сброса rate считает от нуля: 30 новых запросов — уже прирост, ждать 5000 не нужно.

rate и increase видят, что счётчик упал, и считают это перезапуском: прирост после сброса идёт от нуля. Поэтому скорость остаётся обычной, а перезапуск службы не ломает графики.

Главное в шаге

  • Число счётчика — итог с запуска; нагрузку показывает его скорость: rate(метрика[1m]) — прирост в секунду за окно.
  • increase — тот же прирост итогом за окно; сброс счётчика при перезапуске обе функции учитывают.
  • Окно в квадратных скобках заполняется отсчётами со временем: первую минуту после старта скорость занижена.
Ubuntu 24.04
Загрузка…