Linux Labs

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

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

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

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

Сумма по меткам

Одна метрика приложения даёт много рядов; чтобы ответить «сколько ошибок», их складывают.

Учебное приложение labapp считает запросы метрикой labapp_http_requests_total с метками code, method и path — у каждого сочетания свой ряд. Нужные ряды выбирает селектор — условия на метки в фигурных скобках: {code="500"} — равно, {code!="200"} — не равно, {path=~"/api/.*"} — подходит под регулярное выражение.

Складывает ряды агрегация. sum by (code) (…) суммирует все ряды с одинаковым code и оставляет только эту метку; sum without (method) (…) убирает названную метку, а остальные оставляет. Так же работают avg, max и count. Складывают скорости — sum by (code) (rate(…[1m])): сумма самих счётчиков снова дала бы итог с запуска.

Упражнение · посмотреть

Сложи запросы по кодам

Prometheus собирает метрики учебного приложения labapp. Посмотри скорость запросов по каждому ряду labapp_http_requests_total, а потом — сумму скоростей по кодам ответа.

Сначала предположи

Сколько строк напечатает запрос с sum by (code)?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа

Метки, которых нет в by, из ответа пропали: строки с разными адресами и методами сложились в одну. Без by — sum(rate(…)) — осталась бы одна строка: все запросы приложения в секунду.

Ubuntu 24.04
Загрузка…