Журнал входящих HTTP-запросов#

Журнал входящих HTTP-запросов предназначен для регистрации входящих GET- и POST-запросов на специальный REST endpoint логирования.

Журнал сохраняет:

  • краткое описание запроса;

  • заголовки;

  • параметры;

  • тело запроса.

Журнал фиксирует только обращения к специальному endpoint логирования и не является журналом всего входящего HTTP-трафика системы.

Журнал открывается по пути: Аудит > Журнал входящих HTTP-запросов.

Интерфейс журнала#

Интерфейс журнала входящих HTTP-запросов используется для просмотра зарегистрированных обращений к endpoint логирования и анализа состава запроса.

Форма Bts_HttpInRequestAvi состоит из:

  • панели фильтрации;

  • списка входящих HTTP-запросов;

  • детализации выбранного запроса.

Панель фильтрации#

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

Поле

Описание

flt_dDateBegin

Дата начала периода. Отбор выполняется по дате создания записи dCreateDate_dz

flt_dDateEnd

Дата окончания периода. Отбор выполняется по дате создания записи dCreateDate_dz

При открытии формы период автоматически устанавливается на текущую неделю: с понедельника по воскресенье.

Примечание

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

Список запросов#

В основной таблице отображаются зарегистрированные HTTP-запросы с учетом заданного периода.

Колонка

Описание

Пользователь

Пользователь, от имени которого создана запись

Дата

Дата и время создания записи

Текст сообщения

Краткое описание запроса

Детализация запроса#

В нижней части формы отображается детализация выбранной записи.

Доступны вкладки:

  • Заголовки;

  • Параметры;

  • Тело запроса.

На вкладках Заголовки и Параметры доступен признак Отображать неиспользуемые. Он позволяет управлять отображением строк, которые не используются при анализе запроса.

Заголовки#

Вкладка Заголовки показывает HTTP-заголовки выбранного запроса.

Колонка

Описание

Заголовок

Наименование HTTP-заголовка

Значение

Значение HTTP-заголовка

Параметры#

Вкладка Параметры показывает параметры выбранного запроса.

Колонка

Описание

Параметр

Наименование параметра запроса

Значение

Значение параметра запроса

Тело запроса#

Вкладка Тело запроса показывает тело выбранного HTTP-запроса. Содержимое отображается текстом и может включать XML, JSON или другой формат данных, переданный в запросе.

Настройка журнала#

В системе регистрируется специальный endpoint Bts_HttpInRequestPkg/logRequest, поддерживающий методы GET и POST.

Регистрация выполняется в dataInstall().

При обращении к endpoint вызывается метод logRequest(), который создает запись журнала.

События формирования записей#

Журнал ведется автоматически при обращении к endpoint logRequest.

Особенности:

  • фиксируются только запросы к данному endpoint;

  • остальные HTTP-запросы системы в журнал не попадают.

Хранение данных#

Данные хранятся в таблице Bts_HttpInRequest.

В таблице сохраняются:

  • краткое описание запроса;

  • заголовки в JSON;

  • параметры в JSON;

  • тело запроса;

  • служебные поля пользователя и времени создания.

Поля sHeaders, sParams и sBody могут иметь значительный объем и определяют основной рост таблицы.

Хранимые поля#

Поле

Описание

id

Идентификатор записи

idClass

Идентификатор класса

gid

Глобальный идентификатор

sMessage

Краткое описание запроса

sHeaders

HTTP-заголовки в JSON

sParams

Параметры запроса в JSON

sBody

Тело запроса

bNotActive

Признак неактивности

dExpiryDate

Дата окончания использования

sCreateUser_dz

Пользователь, создавший запись

dCreateDate_dz

Дата и время создания

Программные интерфейсы#

Основная логика реализована в Bts_HttpInRequestPkg.

Ключевые методы:

  • dataInstall() — регистрирует endpoint;

  • logRequest() — создает запись журнала;

  • get(relativePath) — обрабатывает GET-запрос;

  • post(relativePath) — обрабатывает POST-запрос.

Особенности эксплуатации#

Журнал предназначен для регистрации запросов, специально направленных на endpoint логирования.

Требования к безопасной настройке журналов, разграничению доступа, хранению и использованию журналов при расследовании инцидентов описаны в документе «Логирование, аудит и управление инцидентами», в разделах Защита журналов и Аудит пользовательской активности.

Объем данных зависит от:

  • количества обращений к endpoint;

  • размера заголовков;

  • размера параметров;

  • размера тела запроса.

Основной рост таблицы формируется за счет объемных JSON-структур и тела запроса.

Хранение и очистка#

Для рабочей базы рекомендуется короткий срок хранения:

  • 7–30 дней.

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

Очистка выполняется через настройку CleanupJob.

Рекомендуемая настройка:

  • spClass = "Bts_HttpInRequest";

  • npDeleteType = DeleteType.sqlDelete;

  • spAttrCreateDate = "dCreateDate_dz";

  • npDaysKeep — по регламенту;

  • bpActive = 1.

Рекомендуется:

  • анализировать рост по дате создания;

  • оценивать средний размер записей;

  • выявлять наиболее нагруженные интеграции;

  • удалять устаревшие данные;

  • использовать архивирование при необходимости длительного хранения.