Перейти к основному содержимому
Версия: 9.0

Метрик-бриджи

Метрик-бриджи преобразуют выбранные события и логи из индексированных таблиц в метрические ряды по расписанию.

Результирующие значения записываются во внутреннее хранилище метрик в специальный системный поток Metrics Bridge Stream и доступны на экранах «Метрики» и «Управление порогами» наравне с обычными временными рядами.

Основа для работы метрик-бриджа - выбранный индекс, созданный на базе одного или нескольких потоков данных с логами.

Обзор экрана

Экран доступен из основного меню Сбор (ETL) → Метрик-бриджи

Изображение

доступ к разделу и его содержимому

регулируется ролевой моделью: права на просмотр/редактирование зависят от назначенной пользователю роли

На экране представлены следующие данные и элементы управления:

  • Список созданных метрик-бриджей в виде таблицы, их базовая информация, статусы и состояния
  • Меню дополнительных действий для каждой строки таблицы
  • Кнопка создания нового метрик-бриджа
  • Поисковая строка и рубрикатор для фильтрации

Список метрик-бриджей

Список отображается в виде таблицы метрик-бриджей текущей рабочей группы, которая содержит колонки:

  • Название
    Слева от названия расположена иконка со статусом последнего выполнения (Успешно / Ошибка / Ожидание)
    Справа от названия - переключатель состояния (Запущен / Остановлен)
  • Индекс - название индекса, с которым работает метрик-бридж
  • Функция - тип преобразования, выполняемого метрик-бриджем
  • Название метрики
  • Последнее выполнение
  • Изменен - дата последнего внесения правок
  • Меню дополнительных действий
    • Запустить / Остановить
    • Перейти к метрике (экран «Метрики» → вкладка «График»)
    • Удалить

Поиск и фильтры в списке

Для быстрого поиска и фильтрации метрик-бриджей пользователю доступны 2 инструмента, способных работать в паре:

  • Поисковая строка
    Позволяет фильтровать список по названию, id и описанию
  • Рубрикатор
    Предоставляет возможности фильтрации по параметрам:
    • Состояние: запущен или остановлен
    • Статус: Успешно / Ошибка / Ожидание
    • Функция: Булево правило / Количество / Поле
    • Индекс: выбор одного или нескольких индексов с возможностью поиска по списку
      *По умолчанию в списке отображаются только 5 индексов. Если их больше, появляется кнопка Показать все

Между собой блоки рубрикатора связаны логическим «И», что позволяет комбинировать фильтры для более точного поиска.

Для очистки всех выбранных параметров рубрикатора используйте кнопку Сбросить все фильтры

Создание метрик-бриджа

Для создания нового метрик-бриджа выполните следующие действия:

  1. Нажмите + Создать метрик-бридж
  2. Заполните форму «Создание метрик-бриджа»
    • Выберите владельца
    • Задайте название
      Название должно быть уникальным в рамках выбранной рабочей группы и не может превышать 256 символов.
    • Выберите индекс
      Список доступных индексов зависит от выбранной рабочей группы
    • Описание (опционально) Изображение
  3. Нажмите кнопку Создать

После создания автоматически откроется карточка нового метрик-бриджа для его дальнейшей настройки и запуска.

обязательное требование к данным индекса:

VictoriaMetrics игнорирует записи с null в метках. Чтобы записи метрик содержали все метки, при создании индексов всегда задавайте значения по умолчанию для полей.

Карточка метрик-бриджа

Карточка открывается кликом по строке в общем списке и содержит:

  • Название бриджа, его id, статус последнего выполнения и кнопку Запуска/Остановки
  • Основную информацию
  • Блок настройки источника логов и параметры преобразования
  • Блок фильтрации логов
  • Секцию формирования метрики с возможностью задать ее название и назначить дополнительные метки
  • Зону предпросмотра

Изображение

Карточка может быть развернута на весь экран.
Меню дополнительных действий позволяет перейти в результирующий поток Metrics Bridge Stream, открыть получаемую метрику на экране метрик или удалить метрик-бридж.

Изображение

Основная информация

  • Владелец - не может быть изменен после создания
  • Название
  • Описание

Частота расчета

Как часто будет выполняться расчет и преобразование логов в метрики, в диапазоне от 1 до 60 минут.

По умолчанию: 30 минут

Индекс

Выбранный источник индексированных логов для преобразования.

Доступен переход к экрану управления индексами, чтобы при необходимости создать новый индекс.

Функция преобразования

Определяет, каким образом из логов формируется значение временного ряда.

Изображение

Доступно 3 типа функции преобразования:

  • Булево правило - проверяет наличие событий за указанное окно вычисления и возвращает 1, если такие записи найдены, иначе - 0

    Когда использовать: проверка на есть/нет по условию, например: были ли за последние 5 минут ошибки уровня error

  • Количество (по умолчанию) - считает число записей в индексе за окно вычисления с учетом фильтра

    Когда использовать: подсчет количества событий, например: число запросов, количество срабатываний правила, количество ошибок

  • Поле - преобразует выбранное числовое поле индекса в значение временного ряда

    • Поле индекса: можно выбрать только числовые поля из индекса (поля‑массивы недоступны)
    • Агрегация: Среднее значение / Сумма значений / Последнее значение

    Когда использовать: получение бизнес‑показателей из числовых полей, например: response_time_ms, bytes_sent, duration

влияние разделителей

Поведение функций преобразования, результирующие метрики и их количество зависят от наличия и состава полей-разделителей

Окно вычисления

Период, за который выполняется выборка из индекса:

  • Равно частоте расчета - интервал от предыдущего запуска до текущего
  • Задать вручную - числовое значение с единицами: секунды, минуты, часы, дни, недели

Разделители

Разделители - это поля из выбранного индекса, по значениям которых метрик‑бридж может разбивать результат на отдельные временные ряды. Фактически это «измерения» будущей метрики: для каждого уникального значения (или их комбинации) создается свой ряд.

Зачем нужны разделители

Для возможности:

  • Обрабатывать множество однотипных задач одним метрик-бриджем, без необходимости создавать дубликаты
  • Получать срезы на каждую "сущность": хост, приложение, регион, код ошибки, remote_addr и т.п.

Как работают разделители

  • При запуске внутри окна вычисления система ищет записи, подходящие под фильтр, и формирует отдельный ряд для каждой уникальной комбинации значений выбранных полей‑разделителей
  • Если разделители не выбраны - рассчитывается один агрегированный ряд по всем подходящим записям
  • В качестве разделителей можно выбрать одно или несколько полей индекса (кроме массивов)

Фильтрация логов

Строка фильтрационных запросов позволяет ограничить набор обрабатываемых событий из выбранного индекса.

Изображение

Все правила работы со строкой описаны в разделах статьи «События и логи»:

Пустой запрос возвращает все события выбранного индекса

Формирование метрики

Изображение

Название метрики

Здесь буквально задается, как будет называться итоговая метрика.
По этому имени позже можно будет найти метрику на экранах «Метрики» и «Управление порогами».

В названии можно использовать только строчные латинские буквы, цифры и знак подчеркивания.

По умолчанию предзаполняется транслитерированным названием метрик‑бриджа.

Метки метрики

Метки метрики - дополнительный набор меток, произвольные пары ключ-значение.

В итоговый набор меток метрик попадут:

  • Системные: monq_bridge_id, monq_stream_id, monq_userspace_id
  • Пользовательские: ключи и значения выбранных разделителей (поля индекса)
  • Кастомные: заданные вручную пары ключ-значение

Предпросмотр

После заполнения обязательных полей по нажатию кнопки обновления доступен предпросмотр в виде таблицы:

Изображение

Примеры влияния разделителей на генерируемые метрики:

  • Без разделителей (функция «Количество»): запрос к индексу Nginx дает общее число логов за окно вычисления по всем IP‑адресам.
  • С одним разделителем remote_addr: формируются отдельные ряды на каждый уникальный IP, например:
    • nginx_requests_total{remote_addr="192.0.2.10", monq_bridge_id="…", …}
    • nginx_requests_total{remote_addr="198.51.100.7", monq_bridge_id="…", …}
  • С двумя разделителями application + error_code: формируются ряды на каждую комбинацию приложения и кода ошибки:
    • app_errors_total{application="web-frontend", error_code="404", monq_bridge_id="…", …}
    • app_errors_total{application="web-frontend", error_code="500", monq_bridge_id="…", …}
    • app_errors_total{application="api-backend", error_code="400", monq_bridge_id="…", …}
    • app_errors_total{application="api-backend", error_code="503", monq_bridge_id="…", …}

Редактирование, запуск, остановка

Для редактирования существующего метрик-бриджа:

  1. Откройте его карточку кликом по соответствующей строке в общем списке
  2. Внесите необходимые изменения
  3. Нажмите кнопку Сохранить изменения

Для сброса всех несохраненных изменений используйте кнопку Отмена

Запуск и остановка метрик-бриджа доступны:

  • Переключением тоггла справа от названия в общем списке Изображение
  • В меню дополнительных действий в общем списке
  • Через карточку метрик-бриджа Изображение

Удаление метрик-бриджа

Удалить метрик-бридж можно через меню дополнительных действий в общем списке или в его карточке.

Существование метрик-бриджа влияет на возможность удаления связанного с ним индекса

Индекс не может быть удален, пока с ним связан хотя бы один метрик-бридж