Логирование действий пользователя

 

Все действия пользователей в системе записываются в журнал (лог). Получить эти данные можно с помощью стандартного набора данных «Лог работы», который находится в источнике данных «Метаданные».

Пример отчета: «Журнал действий пользователей» на основе набора данных «Лог работы».

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

Функционал отчета:

  • Отображает данные о пользователях, датах, времени и выполненных операциях.
  • Поддерживает фильтрацию по параметрам: «Пользователь», «Дата», «Действие».
  • Позволяет анализировать активность пользователей за определенный период.
  • Используя фильтры, можно детализировать информацию и выявлять закономерности в работе системы.

Получение данных из стандартного набора «Лог работы»

По умолчанию, для получения информации из журнала используется следующий SQL-запрос:

SELECT "date", "time", "login", "surname", "name", "patronymic", "operation", "data" 
FROM view_log;

На основе этих данных с помощью конструктора отчетов можно сформировать различные отчеты, например:

  • Активность пользователей по дням.
  • Топ-10 самых популярных отчетов.
  • Топ-10 самых активных пользователей.

Добавление нового источника и расширенного набора данных

Стандартный набор «Лог работы» нельзя изменить, но если в нем не хватает информации, вы можете добавить новый источник и создать новый набор с расширенным SQL-запросом.

Добавление нового источника данных

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

  • Обычно база данных расположена на том же сервере, где развернут портал.
  • Стандартный путь к таблице логов: db_name.public.log

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

Создание нового набора данных

После добавления источника данных:

  1. Перейдите в раздел «Наборы данных».
  2. Нажмите на кнопку «Добавить набор».
  3. Укажите название и заголовок нового набора.
  4. Введите 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-адрес, идентификаторы объектов и операций.

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