Skip to main content

Создание переменных и функций в Dashboards

При дальнейшей настройке переменных используйте для них только уникальные значения (имена) для избежать дублирования, пересечения и конфликтов зависимостей

Вы можете применять фильтрацию в случаях

·         Фильтрация данных на одном виджете (Использование локальных переменных)

·         Фильтрация данных на нескольких виджетах в рамках одной панели мониторинга (Использование глобальных переменных)

 

Для локальных переменных:

В редактировании виджета раскройте меню доступных переменных

image.png

Добавьте свою переменную, а в поле “название” вы можете поставить: категорию или значение или оставить пустым, чтобы в режиме просмотра панели мониторинга задавать значения.

 

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

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

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

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

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

например

SELECT count(ID) AS `metric` FROM `events` WHERE  DeviceAction = 'user login' and EventOutcome = 'succeeded' and filter(SourceUserName = $SourceName)

В примере локальная переменная SourceName, которая применяется в поле события SourceName. Далее сохраняем.

В режиме просмотра панели мониторинга в меню виджета нажмите на иконку фильтра

image.png


В пустом поле укажите значение для переменной , далее нажмите кнопку “применить

Информация на дашборде автоматически обновляется. В данном случае видим сколько раз за последнюю неделю заходил пользователь в систему под учетной записью администратора

image.png

Для глобальных переменных:

Необходимо перейти в редактирование панели мониторинга, далее “Настройки” для создания переменной

image.png


В параметрах “Переменные” добавьте  глобальные переменные, которые смогут применяться к нескольким виджетам. Параметр “используется в виджетах” обновляется после привязки к ним, изначально имеет статус “Не используется”

image.png


Добавьте свою переменную. Значения локальных и глобальных должны быть уникальными. Далее кнопка “Применить ”

Чтобы подключить глобальную переменную,  перейдите в Редактирование виджета, Доступные переменные и выберите нужную, из списка созданных 

image.png

Аналогично запросу с локальными переменными, воспользуйтесь функцией filter(). В аргументе укажите нужное поле и присвойте ему значение переменной. Например,

SELECT count(ID) AS `metric` FROM `events` WHERE  DeviceAction = 'user login' and EventOutcome = 'succeeded' and filter(SourceUserName = $test)

Глобальная переменная test применяется к полю события SourceName. Сохраните изменения

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

image.png


image.png


SELECT count(ID) AS `metric`, SourceUserName AS `value` FROM `events` WHERE Type = 4 AND DeviceAction = 'user login' and EventOutcome = 'succeeded' GROUP BY SourceUserName ORDER BY `metric` DESC LIMIT 250

Далее перейдите к параметру “Действия” внутри редактирования виджета

image.png


 Вы можете настроить дальнейшие действия, как для взаимодействия с графиком, так и легендой

image.png


Для применения фильтра выберите параметр “Фильтровать по переменной”. Сохраните виджет и панель мониторинга.

В режиме просмотра панели мониторинга нажмите на легенду/график в виджете Перейдите в события, если хотите посмотреть входы пользователя admin в систему за последнюю неделю в событиях

image.png


image.png

 

Или второй пункт, чтобы  привязаться  к переменной, станет test=admin

image.png


Далее на панели мониторинга вы увидите появление глобального фильтра

image.png


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

 


Нажмите на него, чтобы увидеть более подробную информацию о фильтре

image.png


 

Чтобы проверить, к каким виджетам применяется фильтр,  повторите шаги из пункта создания глобальных переменных, проверьте параметр “Используется в виджетах”

image.png