Вы можете использовать виджет Активные листы для получения аналитики на основе SQL-запросов.
При создании этого виджета вам требуется указать значения для следующих параметров:
Вкладка :
График – тип графика. Доступны следующие типы графиков:
Столбчатая диаграмма.
Круговая диаграмма.
Счетчик.
Таблица.
Тенант – тенант, по которому отображаются данные на виджете.
Вы можете выбрать несколько тенантов.
По умолчанию данные отображаются по тенантам, которые были выбраны в параметрах макета.
Коррелятор – название коррелятора, содержащего активный лист, по которому вы хотите получать данные.
Активный лист – название активного листа, по которому вы хотите получать данные.
Один и тот же активный лист может использоваться в разных корреляторах. При этом для каждого коррелятора создается своя сущность активного листа. Таким образом, содержимое активных листов, используемых разными корреляторами, различается, даже если идентификатор и название активных листов одинаковые.
Поле SQL-запроса – в этом поле вы можете ввести запрос для фильтрации и поиска данных активного листа вручную.
Структура запроса аналогична той, которая используется при поиске событий.
При создании запроса по активным листам вам нужно учитывать следующие особенности:
Для функции FROM требуется указать значение `records`.
Если вы хотите получать данные по полям, названия которых содержат пробелы и символы кириллицы, в запросе такие названия требуется выделять кавычками:
в функции SELECT псевдонимы следует выделять двойными или косыми кавычками: "псевдоним", `другой псевдоним`;
в функции ORDER BY псевдонимы следует выделять косыми кавычками: `другой псевдоним`;
значения полей событий выделяются прямыми кавычками: WHERE DeviceProduct = 'Microsoft';
Название полей событий выделять кавычками не требуется.
Если название поля активного листа начинается или заканчивается пробелами, в виджете эти пробелы не отображаются. Название поля не должно состоять только из пробелов.
Если значения полей активного листа могут содержать пробелы в конце или в начале, поиск по ним рекомендуется осуществлять с помощью функции LIKE '%значение поля%'.
Вы можете использовать в запросе служебные поля _key (поле с ключами записей активного листа) и _count (сколько раз эта запись была добавлена в активный лист), а также пользовательские поля.
Псевдонимы metric и value в SQL-запросах недоступны для изменения для всех типов виджета с аналитикой по активным листам, кроме таблиц.
Если в SQL-запросе используется функция преобразования даты и времени (например, fromUnixTimestamp64Milli) и при этом обрабатываемое поле не содержит даты и времени, в виджете будет отображаться ошибка. Чтобы избежать этого, используйте функции, которые могут обрабатывать нулевое значение. Пример: SELECT _key, fromUnixTimestamp64Milli(toInt64OrNull(DateTime)) as Date FROM `records` LIMIT 250.
Если задать большие значения для функции LIMIT, это может привести к ошибкам в работе браузера.
Если в качестве типа графика вы выбрали Счетчик, необходимо для значений функции SELECT указывать способ обработки данных: count, max, min, avg, sum.
Если вы хотите, чтобы в виджетах по активным листам отображались названия тенантов, а не их идентификаторы, настройте в корреляционных правилах коррелятора функцию наполнения активного листа сведениями об использующем его тенанте. Процесс настройки состоит из следующих этапов:
Создание словаря типа Таблица и импорт в него полученного ранее списка тенантов.
Добавление в корреляционное правило локальной переменной с функцией dict для распознания имени тенанта по идентификатору.
Пример:
Переменная: TenantName
Значение: dict('<Название ранее созданного словаря с тенантами>', TenantID)
Добавление в корреляционное правило действия над активными листами, с помощью которого значение ранее созданной переменной будет с помощью функции Установить записываться в активный лист в формате Ключ–Значение. В качестве ключа следует задать поле активного листа (например, Тенант), а в поле значения обратиться к ранее созданной переменной (например, $TenantName).
В результате срабатывания этого правила в активный лист будет помещаться название тенанта, опознанного функцией dict по идентификатору среди словаря тенантов. При создании виджетов по активным листам можно получить название тенанта, обратившись к названию поля активного листа (в примере выше это Тенант).
Описанный метод можно применять и к другим полям событий с идентификаторами.
Особенности использования псевдонимов в SQL-функциях: и SELECT допустимо использовать двойные и косые кавычки: ", `.
Если в качестве типа графика вы выбрали Счетчик, псевдонимы могут содержать латинские и кириллические символы, а также пробелы. При использовании пробелов или кириллицы псевдоним необходимо выделять кавычками: "Псевдоним с пробелом", `Другой псевдоним`.
При отображении данных за предыдущий период сортировка по параметру count(ID) может работать некорректно. Рекомендуется использовать сортировку по параметру metric. Например, SELECT count(ID) AS "metric", Name AS "value" FROM `events` GROUP BY Name ORDER BY metric ASC LIMIT 250.
Примеры запросов для получения аналитики по активным листам:
SELECT * FROM `records` WHERE "Источник событий" = 'Екатеринбург' LIMIT 250
Запрос, который возвращает ключ активного листа с названием поля "Источник событий" и значением этого поля "Екатеринбург".
SELECT count(_key) AS metric, Status AS value FROM `records` GROUP BY value ORDER BY metric DESC LIMIT 250
Запрос для круговой диаграммы, который возвращает количество ключей активного листа (агрегация count по полю _key) и все варианты значений пользовательского поля Status. В виджете отображается круговая диаграмма с общим количеством записей активного листа, пропорционально разделенным на количество вариантов значений поля Status.
SELECT Name, Status, _count AS Number FROM `records` WHERE Description ILIKE '%ftp%' ORDER BY Name DESC LIMIT 250
Запрос для таблицы, которая возвращает значения пользовательских полей Name и Status, а также служебного поля _count у тех записей активного листа, в которых значения пользовательского поля Description соответствует запросу ILIKE '%ftp%'. В виджете отображается таблица со столбцами Status, Name и Number.
Вкладка :
Вкладка отображается, если на вкладке в поле График вы выбрали значение Столбчатая диаграмма.
Минимальное значение Y и Максимальное значение Y – масштаб оси Y.
Минимальное значение X и Максимальное значение X – масштаб оси X.
На осях графиков могут отображаться отрицательные значения. Это связано с масштабированием графиков на виджете и может быть исправлено выставлением нуля в качестве минимальных значений графиков вместо Авто.
Вкладка :
Название – название виджета.
Описание – описание виджета.
Цвет – раскрывающийся список, в котором вы можете выбрать цвет отображения информации:
по умолчанию – цвет шрифта, который используется в вашем браузере по умолчанию;
зеленый;
красный;
синий;
желтый.
Горизонтальный – использование горизонтальной гистограммы вместо вертикальной.
При включении этого параметра вся имеющаяся информация будет отражена в заданном размере виджета. Если данных много, Вы можете увеличить размер виджета для их оптимального отображения.
Итоговые значения – суммы значений.
Легенда – легенда для аналитики.
По умолчанию переключатель включен.
Пустые значения в легенде – отображение параметров с нулевым значением в легенде для аналитики.