Логирование действий пользователя - Продукт Modus BI
Все действия пользователей в системе записываются в журнал (лог). Получить эти данные можно с помощью стандартного набора данных «Лог работы», который находится в источнике данных «Метаданные».
Пример отчета: «Журнал действий пользователей» на основе набора данных «Лог работы».
Этот отчет содержит информацию о пользователях, их действиях, времени выполнения и других параметрах.
Функционал отчета:
- Отображает данные о пользователях, датах, времени и выполненных операциях.
- Поддерживает фильтрацию по параметрам: «Пользователь», «Дата», «Действие».
- Позволяет анализировать активность пользователей за определенный период.
- Используя фильтры, можно детализировать информацию и выявлять закономерности в работе системы.
Получение данных из стандартного набора «Лог работы»
По умолчанию, для получения информации из журнала используется следующий SQL-запрос:
SELECT "date", "time", "login", "surname", "name", "patronymic", "operation", "data"
FROM view_log;
На основе этих данных с помощью конструктора отчетов можно сформировать различные отчеты, например:
- Активность пользователей по дням.
- Топ-10 самых популярных отчетов.
- Топ-10 самых активных пользователей.
Добавление нового источника и расширенного набора данных
Стандартный набор «Лог работы» нельзя изменить, но если в нем не хватает информации, вы можете добавить новый источник и создать новый набор с расширенным SQL-запросом.
Добавление нового источника данных
Логи хранятся во внутренней базе данных PostgreSQL, где также находятся настройки портала и служебная информация.
- Обычно база данных расположена на том же сервере, где развернут портал.
- Стандартный путь к таблице логов: db_name.public.log
Чтобы получить доступ к логам, необходимо добавить новый источник данных и указать параметры подключения к внутренней базе PostgreSQL.
Создание нового набора данных
После добавления источника данных:
- Перейдите в раздел «Наборы данных».
- Нажмите на кнопку «Добавить набор».
- Укажите название и заголовок нового набора.
- Введите SQL-запрос с расширенными данными, например:
SELECT
"public_log_t"."log_id" AS "log_id",
"public_log_t"."cmd_id" AS "cmd_id",
"public_log_t"."user_id" AS "user_id",
"public_log_t"."date" AS "date",
"public_log_t"."data" AS "data",
"public_object_type_t"."name" AS "name",
"public_user_t"."login" AS "login",
"public_report_t"."report_id" AS "report_id",
"public_report_t"."name" AS "report_name"
FROM
"public"."log" AS "public_log_t"
LEFT JOIN "public"."user" AS "public_user_t"
ON "public_log_t"."user_id" = "public_user_t"."user_id"
LEFT JOIN "public"."object_type" AS "public_object_type_t"
ON "public_log_t"."id_object_type" = "public_object_type_t"."object_type_id"
LEFT JOIN "public"."object" AS "public_object_t"
ON "public_log_t"."id_object_type" = "public_object_t"."object_id"
LEFT JOIN "public"."report" AS "public_report_t"
ON "public_log_t"."id_object" = "public_report_t"."report_id"
WHERE "public_object_t"."name" = 'reports'
Этот запрос позволит получать более детализированную информацию о действиях пользователей, включая их IP-адрес, идентификаторы объектов и операций.
Постройте отчет с помощью конструктора отчетов, используя фильтры и настраиваемые параметры, чтобы получать более детальную аналитику. Настройте группировку данных, сортировку и визуализацию для выявления ключевых тенденций в активности пользователей.