Фильтрация данных на одном виджете
Скопировано

13 октября 2026

ID 308638

Фильтрация данных на одном виджете

Вы можете фильтровать данные на виджетах типа События, выбирая параметры фильтрации в панели мониторинга.

Для фильтрации данных на одном виджете вам нужно указать одну или несколько локальных переменных в SQL-запросе в свойствах виджета. Переменные позволяют изменять этот SQL-запрос, подставляя в него данные, которые представлены на виджете в панели мониторинга. Виджет отфильтрует данные с учетом новых значений переменных и перестроит график. При этом вам не нужно вручную изменять SQL-запрос в свойствах виджета.

Например, такой механизм может быть удобен, когда поиск по событиям требуется выполнить сотруднику, который не обладает навыком построения SQL-запросов. В таком случае аналитик KUMA может создать панель мониторинга, добавить виджеты и настроить для них локальные переменные. Далее любой сотрудник, имеющий доступ к этой панели мониторинга, сможет фильтровать данные на виджетах без изменения SQL-запросов.

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

Настройка фильтрации данных на одном виджете

Чтобы настроить локальные переменные для фильтрации данных на одном виджете:

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

    В качестве значения переменной укажите value или category, то есть псевдонимы полей, используемые в запросе. Если вы хотите при фильтрации данных в виджете вводить значение этой переменной вручную, оставьте поле пустым.

    Для графиков типа Таблица в качестве значения переменной вы можете указать название поля события. Тогда вы сможете фильтровать данные в таблице по выбранному значению этого поля. Название поля события будет отображаться в заголовке столбца таблицы.

  6. В поле SQL-запрос в оператор WHERE добавьте функцию для работы с переменными.

    Синтаксис для переменных с конкретным значением

    filter(<название_поля_события> = $имя_переменной)

    Синтаксис для переменных с произвольным значением, которое задается вводом вручную

    filter(<название_поля_события> like $имя_переменной)

    В этом случае при вводе вручную вы можете использовать метасимвол % для поиска частичных текстовых совпадений. Подробную информацию смотрите в документации ClickHouse.

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

    Посмотреть пример SQL-запроса

  7. Сохраните изменения.

Фильтрация данных на одном виджете

Чтобы применить локальную переменную для фильтрации данных на одном виджете:

  1. В разделе Панели мониторинга выберите панель мониторинга, на которой расположен нужный виджет. В свойствах этого виджета должна быть задана хотя бы одна локальная переменная.
  2. На виджете нажмите на значок воронки (funnel_icon).
  3. В открывшемся окне выберите, какие локальные переменные вы хотите применить.
  4. Сохраните изменения.

Виджет перестроит график с учетом нового значения переменной.

Пример фильтрации данных с помощью локальных переменных

Пользователи могут указывать учетные данные в скриптах. После смены пароля в скриптах остаются учетные данные со старым паролем. При запуске такого скрипта произойдет ошибка при попытке аутентификации. После нескольких неудачных попыток учетная запись заблокируется. Сотрудник технической поддержки разблокирует учетную запись. Но чтобы избежать повторной блокировки, сотруднику технической поддержки нужно быстро получить информацию о том, на каком хосте происходят неудачные попытки аутентификации. Для этого аналитик KUMA создает панель мониторинга и добавляет в нее виджеты, построенные с использованием локальных переменных. Аналитик настраивает переменные для каждого виджета. Далее сотрудник технической поддержки, не обладающий навыком построения SQL-запросов, использует виджеты, чтобы фильтровать данные без изменения SQL-запросов.

Сценарий фильтрации данных с помощью локальных переменных состоит из следующих этапов:

  1. Настройка фильтрации данных аналитиком KUMA

    Чтобы настроить локальные переменные для фильтрации данных на одном виджете:

    1. В разделе Панели мониторинга выберите панель мониторинга и затем нажмите на кнопку Изменить, чтобы перейти в режим редактирования панели мониторинга.
    2. Выберите существующий виджет События или нажмите на кнопку Добавить виджет и затем выберите тип виджета События.
    3. В окне свойств виджета перейдите на вкладку Общие.
    4. В блоке параметров Доступные переменные нажмите на кнопку Добавить.
    5. Введите имя переменной – user_name. Поле значения переменной оставьте пустым. В этом случае вы сможете ввести произвольное имя пользователя, по которому хотите отфильтровать события.
    6. В поле SQL-запрос введите запрос:

      SELECT TenantID, Timestamp, Name, DestinationHostName, DestinationUserName FROM `events` WHERE DeviceEventClassID='4625' AND filter(DestinationUserName like $user_name) LIMIT 250

      Введенное имя пользователя будет подставляться вместо значения поля DestinationUserName.

      Так как в запросе использован оператор like, при вводе вручную вы можете использовать метасимвол % для поиска частичных текстовых совпадений. Подробную информацию смотрите в документации ClickHouse.

      Приведенный SQL-запрос действителен при условии использования нормализатора из пакета [OOTB] Microsoft Products for KUMA 3.

    7. Сохраните изменения.
  2. Фильтрация данных на виджете сотрудником технической поддержки

    Чтобы применить локальную переменную для фильтрации данных на одном виджете:

    1. В разделе Панели мониторинга выберите панель мониторинга, на которой расположен виджет, настроенный на этапе 1.
    2. На виджете нажмите на значок воронки (funnel_icon).
    3. В открывшемся окне в поле user_name введите имя пользователя, по которому вы хотите посмотреть события неудачной аутентификации.
    4. Примените изменения.

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

Таким образом, пользователи могут получать информацию без доступа к разделу поиска, и для этого не потребуется навык составления SQL-запросов.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!