Браузер метрик и построитель PromQL-запросов
На этой странице:
- Введение
- Браузер метрик
- Построитель запросов
- Выполнение и анализ результатов
- История запросов
- Словарь терминов
- Решение проблем
Введение
Браузер метрик — инструмент платформы Proto Observability для работы с метриками Prometheus. Он позволяет:
- Находить метрики — просматривать каталог всех доступных метрик с описаниями и типами
- Изучать структуру данных — видеть лейблы, их значения и количество временных рядов
- Строить запросы визуально — собирать PromQL-запросы через графический интерфейс без знания синтаксиса
- Писать PromQL вручную — использовать текстовый редактор с подсветкой синтаксиса и валидацией
- Анализировать результаты — просматривать данные в виде графиков, таблиц и статистики
Что такое PromQL?
PromQL (Prometheus Query Language) — язык запросов для работы с метриками Prometheus. Он позволяет выбирать, фильтровать, агрегировать и трансформировать данные временных рядов. Браузер метрик помогает строить PromQL-запросы визуально, поэтому знание синтаксиса не требуется для начала работы.Как открыть: перейдите в раздел Метрики в основном меню навигации платформы.
Браузер метрик
Браузер метрик — начальный экран, который отображается при открытии инструмента. Он состоит из двух панелей: списка метрик (слева) и деталей выбранной метрики (справа).
Список метрик
Левая панель содержит таблицу всех доступных метрик в системе.

Поиск метрик
Введите текст в поле поиска над таблицей для фильтрации метрик. Поиск работает по всем столбцам: имени, типу и описанию. Совпадения выделяются жёлтым цветом.
Например, введите http чтобы найти все метрики, связанные с HTTP-трафиком, или error для метрик ошибок.
Сортировка и постраничная навигация
- Нажмите на заголовок столбца Имя метрики или Тип для сортировки по возрастанию или убыванию
- В нижней части таблицы выберите количество метрик на странице: 25, 50, 100 или 200
- Общее количество найденных метрик отображается над таблицей
Детали метрики
Нажмите на строку метрики в списке — справа откроется панель с подробной информацией.

Панель содержит следующие сведения:
- Имя метрики — полное имя, отображается моноширинным шрифтом
- Тип — цветной индикатор типа метрики (counter, gauge, histogram, summary)
- Описание — текст справки, объясняющий что измеряет метрика
- Кардинальность — общее количество временных рядов для этой метрики
- Время последнего сбора — когда метрика была получена в последний раз
Типы метрик
- Counter — счётчик, который только увеличивается (например, общее число запросов). Обычно используется с функцией
rate()для вычисления скорости изменения. - Gauge — измерение, которое может расти и уменьшаться (например, текущее использование CPU или количество активных соединений).
- Histogram — распределение значений по корзинам (buckets). Содержит метрики с суффиксами
_bucket,_count,_sum. Используется для расчёта перцентилей.
В верхней части панели находится кнопка Построить запрос — она переводит в построитель запросов с уже выбранной метрикой.
Исследование лейблов
Раздел Лейблы в панели деталей позволяет изучить лейблы (метки) выбранной метрики.
Для каждого лейбла отображается:
- Имя лейбла — например,
job,instance,method - Количество уникальных значений — сколько различных значений имеет лейбл
Нажмите на лейбл, чтобы раскрыть список его значений и увидеть распределение.
Высокая кардинальность
Лейблы с более чем 100 уникальными значениями отмечены значком предупреждения. Высокая кардинальность означает большое количество временных рядов. Запросы по таким лейблам без фильтрации могут выполняться медленно.Также отображается раздел Примеры серий — таблица с первыми 5 временными рядами метрики и их лейблами. Это помогает понять структуру данных перед построением запроса.
Построитель запросов
Построитель запросов — основной инструмент для создания PromQL-запросов. Он доступен по нажатию кнопки Построить запрос в браузере метрик или напрямую через навигацию.
Построитель работает в двух режимах: визуальном (сборка через графический интерфейс) и Чистый PromQL (ручной ввод текста запроса).
Визуальный режим
Визуальный режим — режим по умолчанию. Запрос собирается построчно через выпадающие списки и поля ввода.

Шаг 1. Выбор метрики
Выберите метрику из выпадающего списка или используйте выбранную метрику на прошлом шаге в браузере метрик. Список поддерживает поиск — начните вводить имя метрики для фильтрации.
После выбора метрики автоматически загружаются доступные лейблы и открываются следующие разделы построителя.
Шаг 2. Фильтрация по лейблам
Добавьте фильтры, чтобы сузить выборку данных. Нажмите Добавить фильтр для добавления нового условия.
Каждый фильтр содержит три поля:
| Поле | Описание | Пример |
|---|---|---|
| Лейбл | Имя лейбла (выбор из списка) | host |
| Оператор | Оператор сравнения | = |
| Значение | Значение для сравнения | demoapp.local |
Доступные операторы сравнения:
| Оператор | Значение | Пример |
|---|---|---|
= |
Точное совпадение | job="prometheus" |
!= |
Не равно | status!="200" |
=~ |
Совпадение по регулярному выражению | method=~"GET|POST" |
!~ |
Не совпадает с регулярным выражением | path!~"/health.*" |
Можно добавить до 5 фильтров. Для удаления фильтра нажмите на кнопку удаления справа от строки.
Шаг 3. Выбор функции
Выберите функцию из выпадающего списка для трансформации данных.
Наиболее часто используемые функции:
| Функция | Назначение | Когда использовать |
|---|---|---|
rate() |
Скорость изменения в секунду | Для counter-метрик: запросы/сек, ошибки/сек |
irate() |
Мгновенная скорость изменения | Для детальных графиков counter-метрик |
increase() |
Абсолютный прирост за период | Сколько запросов было за последние 5 минут |
delta() |
Разница значений за период | Изменение gauge-метрик за период |
histogram_quantile() |
Расчёт перцентиля | Время отклика P95, P99 из histogram-метрик |
Диапазон времени для функций
Функции rate(), irate(), increase() и delta() требуют указания диапазона времени (range) — периода, по которому вычисляется результат. Используйте кнопки быстрого выбора (1m, 5m, 15m, 1h) или введите значение вручную (например, 30s, 2h).
Рекомендуемое значение для большинства случаев — 5m (5 минут).
Для некоторых функций появляются дополнительные параметры:
histogram_quantile()— поле для ввода значения квантиля (от 0 до 1, например0.95для P95)predict_linear()— время прогноза в секундахclamp_min()/clamp_max()— пороговое значение
Шаг 4. Агрегация
Раздел Агрегация позволяет объединить несколько временных рядов в один или несколько итоговых значений.
Доступные операторы агрегации:
| Оператор | Описание |
|---|---|
sum |
Сумма всех значений |
avg |
Среднее арифметическое |
min |
Минимальное значение |
max |
Максимальное значение |
count |
Количество рядов |
topk |
Первые K рядов с наибольшими значениями |
bottomk |
Первые K рядов с наименьшими значениями |
stddev |
Стандартное отклонение |
Группировать по — выберите лейблы, по которым группировать результат. Например, агрегация sum с группировкой по instance вычислит сумму для каждого инстанса отдельно.
Для операторов topk и bottomk укажите числовое значение K — сколько результатов показать.
Шаг 5. Бинарные операции (необязательно)
Раздел Binary Operation позволяет комбинировать запрос с числом или другой метрикой через арифметический или логический оператор.
Арифметические операторы: +, -, *, /, % (остаток), ^ (степень)
Операторы сравнения: ==, !=, >, <, >=, <=
Например, деление одной метрики на другую для вычисления процента ошибок.
Шаг 6. Настройка временного диапазона
Таймпиккер управляет периодом и типом запроса.
Тип запроса:
| Тип | Описание | Когда использовать |
|---|---|---|
| Диапазон | Данные за период времени (несколько точек) | Графики трендов, анализ динамики |
| Мгновенный | Одно значение на текущий момент | Проверка текущего состояния |
Временной диапазон — выберите начало и конец периода. По умолчанию отображается последний час.
Шаг — интервал между точками данных. Обычно вычисляется автоматически. Укажите вручную, если запрос слишком медленный (увеличьте шаг) или недостаточно детальный (уменьшите шаг).
Автообновление — включите для периодического выполнения запроса. Доступные интервалы: 30 секунд, 1 минута, 5 минут. Автообновление автоматически приостанавливается при переключении на другую вкладку браузера.
Предпросмотр PromQL
Под всеми строками построителя отображается сгенерированный PromQL-запрос с подсветкой синтаксиса. Запрос обновляется в реальном времени при каждом изменении параметров.

Рядом с запросом отображается индикатор валидации:
- Зелёная галочка — запрос корректен, готов к выполнению
- Жёлтый треугольник — есть предупреждения (запрос выполнится, но может быть неоптимальным)
- Красный крестик — есть ошибки синтаксиса (запрос не выполнится)
Кнопки рядом с предпросмотром:
- Форматировать — отформатировать запрос для удобного чтения
- Копировать запрос — скопировать запрос в буфер обмена
Выполнение запроса
- Выполнить запрос — выполнить запрос. Кнопка заблокирована, если есть ошибки валидации
- Отменить — отменить выполняющийся запрос
- Сбросить — сбросить все параметры к начальным значениям
Во время выполнения отображается индикатор загрузки с отсчётом времени.
Режим Чистый PromQL
Переключитесь на вкладку Чистый PromQL для ручного ввода PromQL-запросов.

Редактор предоставляет:
- Подсветку синтаксиса — имена метрик, функции, ключевые слова, лейблы, числа и операторы выделены разными цветами
- Валидацию в реальном времени — ошибки подсвечиваются сразу при вводе, с указанием позиции и описанием проблемы
- Подсказки исправлений — при ошибках отображаются рекомендации (например, «пропущена закрывающая скобка»)
Пример ввода запроса вручную:
topk(5, sum by (service) (rate(http_requests_total{status=~"5.."}[5m])))
Все настройки временного диапазона, типа запроса и автообновления работают так же, как в визуальном режиме.
Переключение между режимами
Переключение между визуальным и текстовым режимами выполняется через вкладки в верхней части построителя.
- Визуальный → Чистый PromQL: запрос автоматически генерируется из выбранных параметров. Данные не теряются.
- Чистый PromQL → Визуальный: система анализирует текст запроса и заполняет поля построителя. Если запрос слишком сложен для визуального представления (вложенные выражения, подзапросы), отобразится предупреждение и вы останетесь в текстовом режиме.
Выполнение и анализ результатов
После нажатия Выполнить запрос результаты отображаются в правой части экрана в виде вкладок. Доступно пять режимов просмотра.
Вкладка «График»
Визуализация результатов в виде линейного графика.
- Ось X — время
- Ось Y — значения метрики
- Легенда — список всех временных рядов. Нажмите на элемент легенды, чтобы скрыть или показать соответствующую линию
- Масштабирование — выделите область на графике мышью для увеличения. Перетащите график для панорамирования
- Подсказка — наведите курсор на точку, чтобы увидеть точное значение и время
Карточки над графиком показывают:
- Количество рядов — сколько временных рядов вернул запрос
- Время выполнения — длительность выполнения запроса в миллисекундах
Вкладка «Таблица»
Табличное представление результатов.

- Каждый уникальный лейбл отображается в отдельном столбце
- Столбец Value — последнее значение
- Столбец Timestamp — время последнего значения
- Нажмите на заголовок столбца для сортировки
- Используйте поле поиска для фильтрации строк по значениям лейблов
- Кнопка Копировать копирует видимые данные в буфер обмена в табличном формате
Вкладка «Статистика»
Сводная статистика по результатам запроса.
Отображаемые карточки:
| Показатель | Описание |
|---|---|
| СЕРИЙ | Общее количество временных рядов |
| ТОЧЕК ДАННЫХ | Общее количество точек данных |
| МИН | Минимальное значение среди всех рядов |
| МАКС | Максимальное значение |
| СРЕДНЕЕ | Среднее значение |
| ТЕКУЩЕЕ | Последнее полученное значение |
Большие числа отображаются в сокращённом формате (например, 1.2K, 3.4M).
Вкладка «Объяснение»
Раздел помогает понять, что делает ваш PromQL-запрос.

Содержит три секции:
1. Описание на естественном языке
Текстовое объяснение запроса простым языком. Например:
«Этот запрос вычисляет скорость изменения метрики http_requests_total (запросы в секунду), фильтрует по job=prometheus и method=GET за окно в 5 минут, затем суммирует результаты с группировкой по instance.»
2. Поток данных
Пронумерованные шаги обработки данных:
- Источник: выбор метрики
http_requests_total - Фильтр:
job="prometheus",method="GET" - Трансформация: применение
rate()за 5-минутное окно - Агрегация:
sumс группировкой поinstance
Каждый шаг отмечен цветным индикатором типа операции.
3. Дерево запроса (AST)
Интерактивное дерево структуры запроса. Узлы можно раскрывать и сворачивать. Цветовая кодировка:
- Синий — имена метрик
- Оранжевый — функции
- Фиолетовый — агрегации
- Зелёный — лейблы
- Серый — временные диапазоны
Наведите курсор на узел для отображения описания элемента.
Вкладка «Производительность»
Анализ производительности выполненного запроса.

1. Оценка скорости
| Оценка | Цвет | Время выполнения |
|---|---|---|
| Быстрый | Зелёный | Менее 500 мс |
| Нормальный | Синий | Менее 2 секунд |
| Медленный | Оранжевый | Менее 5 секунд |
| Очень медленный | Красный | Более 5 секунд |
2. Разбивка по времени
Горизонтальная диаграмма, показывающая долю сетевого взаимодействия и обработки данных в общем времени выполнения.
3. Метрики результата
- Количество возвращённых рядов
- Количество точек данных
- Оценка используемой памяти
4. Рекомендации по оптимизации
Цветные уведомления с конкретными советами:
- Красные (критические): «Запрос вернул более 50 000 рядов — добавьте фильтры или агрегацию»
- Оранжевые (предупреждения): «Отсутствуют фильтры по лейблам — производительность может быть низкой»
- Синие (информационные): «Увеличьте шаг (step) для уменьшения объёма данных»
5. История производительности
Столбчатая диаграмма времени выполнения последних 20 запросов. Позволяет отслеживать тенденции. Кнопка Очистить историю сбрасывает накопленные данные.
Экспорт результатов
Меню экспорта доступно на панели результатов:
- CSV — табличные данные для Excel или Google Sheets
- JSON — необработанные результаты в формате JSON
- PNG — график в виде изображения
История запросов
Нажмите кнопку История запросов в заголовке построителя, чтобы открыть боковую панель истории.

Возможности
- Поиск — фильтрация истории по тексту PromQL-запроса
- Фильтр по статусу — все запросы, успешные или с ошибками
- Повторное выполнение — нажмите на запрос в истории, чтобы загрузить его в построитель и выполнить заново
Информация о каждом запросе
- Текст PromQL-запроса (наведите курсор для просмотра полного текста)
- Время выполнения в миллисекундах
- Количество возвращённых рядов
- Относительное время выполнения (например, «2 минуты назад»)
- Статус: успешно или ошибка
Хранение
- 10 последних запросов сохраняются между сессиями (в локальном хранилище браузера)
- 50 запросов хранятся в рамках текущей сессии (очищаются при обновлении страницы)
Кнопка Очистить удаляет всю историю с подтверждением.
Словарь терминов
| Термин | Описание |
|---|---|
| Метрика (Metric) | Именованное измерение, собираемое из системы (например, http_requests_total) |
| Лейбл (Label) | Пара «ключ-значение», которая категоризирует данные метрики (например, job="web-server") |
| Временной ряд (Time Series) | Уникальная комбинация имени метрики и набора лейблов с привязанными к времени значениями |
| Кардинальность (Cardinality) | Количество уникальных временных рядов для метрики |
| Counter | Тип метрики — счётчик, значение только растёт |
| Gauge | Тип метрики — измерение, может расти и уменьшаться |
| Histogram | Тип метрики — распределение значений по корзинам |
| Summary | Тип метрики — аналог histogram, перцентили вычисляются на клиенте |
| PromQL | Prometheus Query Language — язык запросов для метрик |
| Range Vector | Временной ряд с диапазоном времени (например, [5m]) |
| Instant Vector | Одно значение для каждого ряда на определённый момент времени |
| Функция (Function) | Операция над данными метрики (rate, sum, avg и др.) |
| Агрегация (Aggregation) | Объединение нескольких рядов в итоговые значения |
| Group By | Лейблы, по которым сохраняется группировка при агрегации |
| Step | Интервал между точками данных в range-запросе |
Решение проблем
Запрос не возвращает данных
Причина: метрика не существует, фильтры слишком строгие или данные отсутствуют за выбранный период.
Решение:
- Проверьте имя метрики в обозревателе метрик
- Удалите фильтры по лейблам и выполните запрос без них
- Увеличьте временной диапазон
- Убедитесь, что значения лейблов указаны корректно (регистр имеет значение)
Запрос выполняется слишком долго
Причина: запрос возвращает слишком много временных рядов или период слишком большой.
Решение:
- Добавьте фильтры по лейблам для ограничения выборки
- Используйте агрегацию (
sum,avg) для уменьшения количества рядов - Увеличьте шаг (step) для уменьшения количества точек
- Сократите временной диапазон
- Проверьте вкладку Производительность для конкретных рекомендаций
Ошибка «No data» при использовании rate()
Причина: функция rate() требует хотя бы двух точек данных в указанном диапазоне.
Решение: увеличьте диапазон функции. Если данные собираются каждые 15 секунд, используйте диапазон не менее 1m. Рекомендуемое значение — 5m.
Неожиданные значения на графике
Причина: применение rate() к gauge-метрике или отсутствие rate() для counter-метрики.
Решение:
- Для counter-метрик (растущие значения, например
_total) — всегда используйтеrate()илиincrease() - Для gauge-метрик (текущие значения, например
_current,_usage) — используйте метрику напрямую илиdelta()
Визуальный режим не может разобрать запрос
Причина: запрос содержит конструкции, которые не поддерживаются визуальным построителем (вложенные выражения, подзапросы, сложные бинарные операции).
Решение: используйте режим Чистый PromQL для сложных запросов. Визуальный режим предназначен для типовых запросов с одной метрикой, фильтрами, функцией и агрегацией.