Skip to content

Журналы аудита пользователей

Важно

Функциональность доступна только для серверной версии ТестОпс, начиная с версии 4.23.0.

Если ваши политики безопасности требуют ведения журнала действий пользователей в системе, это можно сделать на стороне ТестОпс.

ТестОпс ведет учет следующих событий и действий пользователей:

  • события, связанные с лицензией ТестОпс;
  • управление учетными записями пользователей;
  • действия пользователей, связанные с работой в проектах (создание, редактирование и удаление тест-кейсов и других сущностей).

Профили журналирования

ТестОпс может вести журнал в формате JSON или как простой текст. Формат журнала определяется параметром SPRING_PROFILES_ACTIVE, который указан во всех конфигурациях ТестОпс.

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

Доступные профили:

ПрофильОписание
rabbitЭтот профиль указан по умолчанию для всех видов развертываний ТестОпс. Используется для выбора RabbitMQ в качестве основного брокера сообщений
kubernetesЭтот профиль указан по умолчанию при развертывании ТестОпс с помощью Kubernetes. События будут выводиться в консоль (stdout) в формате JSON
composeЭтот профиль указан по умолчанию при развертывании ТестОпс с помощью Docker Compose. События будут выводиться в консоль (stdout) в текстовом формате, элементы будут разделены пробелами
packageЭтот профиль указан по умолчанию при развертывании ТестОпс с помощью пакетных менеджеров Linux (DEB или RPM). События будут выводиться в консоль (stdout) в текстовом формате, элементы будут разделены пробелами
logging-console-jsonСобытия будут выводиться в консоль (stdout) в формате JSON
logging-file-jsonСобытия будут записываться в файл в формате JSON. Путь к файлу должен быть указан через переменную окружения LOG_FILE (описана ниже)

Уровень журналирования

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

  • debug — в журнал будут записываться события с методами POST, DELETE, PATCH и PUT.

    Эти методы используются для создания, изменения и удаления сущностей ТестОпс.

  • trace — журнал будут записываться события с методами GET, HEAD и OPTION.

    В этом случае в журнале будут отражаться все действия пользователей. Это избыточный вариант журналирования.

Запись журнала в файл

Журнал может записываться в файл для последующей обработки сторонними приложениями (такими как Logstash).

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

Полная конфигурация журналирования

Приведенная ниже конфигурация будет выводить события с методами POST, DELETE, PATCH и PUT в формате JSON в stdout и в файл /var/log/testops/testops.log:

yaml
SPRING_PROFILES_ACTIVE: logging-console-json,logging-file-json
LOGGING_LEVEL_ACCESSLOG: debug
LOG_FILE: /var/log/testops/testops.log

Поля записи журнала

Каждая запись журнала содержит следующие поля:

  • message — текст сообщения без обработки;
  • logger_name — имя логгера. Для ведения журнала действий пользователей используется имя accesslog;
  • method — API-метод, вызываемый действием пользователя (GET/POST/PUT и т. д.);
  • endpoint — эндпоинт;
  • query — параметры запроса (например, ID проекта);
  • status — статус ответа (2xx, 3xx, 4xx, 5xx);
  • user — имя пользователя;
  • roles — роль пользователя;
  • client — IP-адрес пользователя.

Пример записи журнала

json
{
  "@timestamp": "2023-11-13T12:00:00.778Z",
  "@version": "1",
  "message": "status=200, method=GET, endpoint=/rs/testcasetree/leaf, query=projectId=4&treeId=8&sort=id%2Casc&size=100, client=192.168.100.4, user=admin, roles=[ROLE_ADMIN]",
  "logger_name": "accesslog",
  "thread_name": "http-nio-8081-exec-7",
  "level": "trace",
  "level_value": 5000,
  "endpoint": "/rs/testcasetree/leaf",
  "method": "GET",
  "query": "projectId=4&treeId=8&sort=id%2Casc&size=100",
  "roles": "ROLE_ADMIN",
  "client": "192.168.1.4",
  "user": "admin",
  "status": "200"
}

Logo © 2025 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»