Работа с событиями в формате JSON

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

 

Режим просмотра JSON-событий активируется с помощью внесения изменений в конфигурационные файлы системы. Подробное описание процесса описано в Руководстве разработчика.

Раздел События позволяет формировать запрос на выборку cобытий в формате JSON. Для перехода в раздел нажмите на иконку События в левом боковом меню.

На данной странице отображаются все зарегистрированные в Системе события в формате JSON. Здесь вы можете просмотреть список событий, отфильтровать и экспортировать события.

Управление таблицей

По умолчанию на странице отображается 20 записей, однако вы можете выбрать отображение 20, 50, 100 и 500 записей на странице. Для этого нажмите на поле  в правом верхнем углу списка и выберите в выпадающем списке необходимое количество для отображения.

Для переключения между страницами используйте блок в левом нижнем углу списка, или введите конкретную страницу и нажмите клавишу Enter:

Конфигурация отображения таблицы

Вы можете сконфигурировать отображение таблицы событий. Для этого нажмите на иконку шестеренки в правом верхнем углу таблицы:

В выпадающем меню вы можете настроить следующие параметры:

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

Также вы можете развернуть таблицу в режим полноэкранного отображения. Для этого нажмите на иконку рамок в правом верхнем углу таблицы:

Просмотр событий

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

Для быстрого переключения между событиями нажмите на иконки стрелочек в правом верхнем углу сайдбара. Чтобы подсветить определенный элемент в содержимом, нажмите на поле поиска и введите имя данного элемента. Переключатель Показать типы активирует/деактивирует отображение типов полей (Int64, string и т.д.). Вы также можете скопировать содержимое блока в запросе, нажав на иконку копии, которая появляется при наведении курсора на строку.

Фильтрация, сортировка и группировка событий

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

Определение временных рамок

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

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

Поле ввода SQL-запроса

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

При вводе SQL-запроса необходимо соблюдать следующие правила:

  1. Следует использовать только запрос SELECT. Попытка обновить таблицу с любым другим запросом приведет к ошибке.
  2. В запросе нельзя указывать параметр пагинации OFFSET.
  3. Наименование полей необходимо указывать в апострофах, например `event.type`.

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

Поиск событий (SELECT)

SELECT data.json.computer_name, data.winlog.api FROM `messages`

Установка псевдонима (Alias) для поля

SELECT data.agent.id AS agid, data.agent.name AS agname, data.json.task AS jtask
FROM messages
WHERE (agid LIKE '%0d%') AND (agname LIKE '%-%') AND (jtask LIKE '%else%')

Фильтрация событий (WHERE)

SELECT data.agent.id, data.agent.name, data.json.task
FROM messages
WHERE (data.agent.id LIKE '%0d%') AND (data.agent.name LIKE '%-%') AND (data.json.task LIKE '%else%')

Подсчет количества событий (COUNT)

SELECT COUNT(*) FROM messages
WHERE (data.agent.id LIKE '%0d%') AND (data.agent.name LIKE '%-%') AND (data.json.task LIKE '%else%') AND (timestamp != '2025-01-02')
FORMAT TabSeparated

Группировка событий (GROUP BY)

SELECT
    data.json.process.pid.:Int64
FROM messages
GROUP BY data.json.process.pid.:Int64

Сортировка событий (ORDER BY)

SELECT
    data.json.process.pid.:Int64
FROM messages
ORDER BY data.json.process.pid.:Int64 DESC
 
Для корректной работы команд GROUP BY, COUNT и ORDER BY необходимо указать в запросе типы полей в формате имя_поля.:тип_поля.

Сортировка таблицы с помощью колонок

 

Данный функционал доступен только при использовании режима Автоматического определения синтаксиса SQL.

Для упрощения навигации по списку, вы можете выбрать список и порядок отображаемых колонок. Для этого нажмите Колонки в левом верхнем углу таблицы. Используйте переключатель слева от имени поля, для того, чтобы включить или выключить отображение колонки в таблице. По умолчанию выбраны первые 3 поля.

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

Экспорт событий

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

 

Вы можете экспортировать не более 1 миллиона событий за раз.

Сохраненные запросы

Сохранение запросов

Для удобства ежедневного использования вы можете сохранить ваши запросы. Для этого нажмите Сохранить в правом верхнем углу страницы, затем в выпадающем меню выберите вариант сохранения — в текущий запрос, или в новый.

Если вы выбрали В новый запрос, откроется новое окно, в котором вы сможете задать имя запроса и указать путь для его сохранения. Для сохранения запроса нажмите Сохранить.

Использование сохраненных запросов

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

Управление хранилищем сохраненных запросов

Вы можете управлять файловой системой хранения запросов: создавать папки, а также переименовывать, перемещать и удалять папки и сохраненные запросы.

Создание новой папки

Для того, чтобы добавить новую папку, нажмите на иконку добавления в правом верхнем углу дашборда.

Введите имя для новой папки и нажмите Создать.

Если вы хотите создать папку внутри уже существующей, наведите на мышку на корневую папку и нажмите на появившуюся иконку +, введите имя для новой папки и нажмите Создать.

Редактирование содержимого

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

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

Создание копии сохраненного запроса

Для того, чтобы создать копию сохраненного запроса, нажмите на три точки справа от имени и в выпадающем списке выберите Создать копию.

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

Удаление содержимого

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

Просмотр истории запросов

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

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

Выбор тенантов

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



ID статьи: 458
Последнее обновление: 6 мая, 2025
Ревизия: 6
База знаний LogIQ -> Документация -> Система хранения и обработки данных «LogIQ». Версия 2.4.0 -> LogIQ. Руководство пользователя -> Раздел «События» -> Работа с событиями в формате JSON
https://docs.axel.pro/rabota-s-sobytiyami-v-formate-json_458.html