Версия 1.3.0
Авторские права © 2017, 2018, 2019, 2020, 2021 ООО "Открытые библиотечные системы"
В данном документе приведены сведения о назначении и условиях применения модуля "Аудит". Описаны характеристики модуля, а также входные и выходные данные.
Модуль "Аудит" АБИС "Руслан-Нео" предназначен для сбора и сохранения сведений о различных событиях, происходящих в АБИС "Руслан-Нео". Поддерживается обработка следующих типов событий:
События хранилища данных (репозитория контента JCR)
Создание узла (базы данных или записи)
Удаление узла (базы данных или записи)
Перемещение узла (базы данных или записи)
Создание свойства базы данных или записи
Изменение свойства базы данных или записи
Удаление свойства базы данных или записи
Выдача пользователю полномочий для работы с базами данных или записями
Отзыв у пользователя полномочий для работы с базами данных или записями
События web-интерфейса ресурсов
Создание сеанса
Изменение идентификатора сеанса
Завершение сеанса
Вызов метода
Хранение сведений о событиях осуществляется сервером Solr, используемым сервером "Руслан-Нео". Поэтому поиск, извлечение и иную обработку этих сведений следует производить при помощи соответствующих интерфейсов взаимодействия с Solr.
Модуль "Аудит" может функционировать на любых технических средствах под управлением сервера приложений WildFly версии 10.*.
Необходимыми условиями для работы модуля "Аудит" являются:
наличие в конфигурации сервера WildFly следующих очередей сообщений:
java:/jms/topic/ruslan/createUpdateRecord
- очередь сообщений хранилища данных
java:/jms/topic/ruslan/wsOperations
- очередь сообщений web-интерфейса ресурсов
наличие в конфигурации сервера WildFly следующих общих параметров базовых сервисов АБИС "Руслан-Нео":
java:global/ruslan/config/{сигла библиотеки}/solrURL
java:global/ruslan/config/{сигла библиотеки}/license
наличие лицензионного файла с указанием на лицензирование модуля "Аудит"
в месте, заданном при помощи вышеуказанного параметра java:global/ruslan/config/{сигла библиотеки}/license
возможность взаимодействия с сервером Solr версии 6.3.0
наличие коллекции rneo-audit
на сервере Solr
Модуль "Аудит" работает в автоматическом режиме. Обработка событий заключается в чтении данных о событиях из вышеуказанных очередей сообщений, преобразовании их в документы Solr и сохранении этих документов на сервере Solr.
Правильность работы модуля можно контролировать посредством генерации событий, указанных в Главе 1 и последующего поиска сведений о них на сервере Solr. Указание на причины неправильной работы следует искать в журналах WildFly и Solr.
Модуль "Аудит" запускается автоматически при развёртывании на сервере приложений WildFly. Неявное обращение к модулю осуществляется автоматически при появлении сведений о событиях в вышеуказанных очередях сообщений.
Входными данными являются сообщения о событиях, направляемые в соответствующие очереди сообщений.
В таблице 4-1 приведены сведения об элементах сообщений хранилища данных.
Таблица 4-1. Элементы сообщения хранилища данных
Название | Тип | Назначение |
---|---|---|
orgId | java.lang.String | Идентификатор организации, в хранилище которой произошло событие |
subject | java.lang.String | Тип объекта, с которым произошло событие:
|
userId | java.lang.String | Идентификатор пользователя, осуществившего операцию, приведшую к генерации события |
timestamp | java.lang.Long | Время фиксации события |
path | java.lang.String | Путь к объекту, с которым произошло событие |
srcAbsPath | java.lang.String | Исходный путь к объекту, который был удалён или перемещён |
type | java.lang.Integer | Тип события:
|
В таблице 4-2 приведены сведения об элементах сообщений web-интерфейса ресурсов.
Таблица 4-2. Элементы сообщения web-интерфейса ресурсов
Название | Тип | Назначение |
---|---|---|
orgId | java.lang.String | Идентификатор организации, в хранилище которой произошло событие |
userId | java.lang.String | Идентификатор пользователя, осуществившего операцию, приведшую к генерации события |
sessionId | java.lang.String | Идентификатор сеанса |
remoteAddr | java.lang.String | Адрес web-клиента |
method | java.lang.String | Идентификатор операции, приведшей к генерации события |
NCIP | java.lang.String | Тип сообщения NCIP, если идентификатор операции имеет значение |
NCIP_itemId | java.lang.String | Идентификатор документа, если идентификатор операции имеет значение |
NCIP_itemLocation | java.lang.String | Идентификатор отдела/коллекции постоянного местонахождения документа, если идентификатор операции имеет значение |
NCIP_userId | java.lang.String | Идентификатор читателя, если идентификатор операции имеет значение |
NCIP_POC | java.lang.String | Идентификатор точки выдачи, если идентификатор операции имеет значение |
NCIP_dateDue | java.lang.Long | Время ожидаемого возврата документа, если идентификатор операции имеет значение |
NCIP_useRestriction | java.lang.String | Сведения об ограничениях на использование документа, выданного во временное пользование, если идентификатор операции имеет значение |
NCIP_extent | java.lang.String | Сведения о пространственном охвате ограничений на использование документа, выданного во временное пользование, если идентификатор операции имеет значение |
NCIP_problem | java.lang.String | Сведения о препятствиях, не позволивших успешно выполнить операцию, если идентификатор операции имеет значение |
SIP | java.lang.String | |
SIP_itemId | java.lang.String | |
SIP_patronId | java.lang.String | |
timestamp | java.lang.Long | Время фиксации события |
duration | java.lang.Long | Продолжительность выполнения метода |
parameter | java.lang.String | Набор параметров, использованных при вызове метода |
result | java.lang.String | Результат выполнения метода |
oldSessionId | java.lang.String | Прежний идентификатор сеанса, если идентификатор операции имеет значение |
Выходными данными являются документы Solr.
В таблице 4-3 приведены сведения о полях выходных документов Solr.
Таблица 4-3. Поля выходных документов Solr
Название | Назначение |
---|---|
id | Идентификатор события |
ra.timestamp_dt | Время фиксации события |
ra.subject_s | Тип объекта, с которым произошло событие: |
ra.actor_s | Идентификатор пользователя, осуществившего операцию, приведшую к генерации события |
ra.org_s | Идентификатор организации, в хранилище которой произошло событие |
ra.action_s | Тип события:
|
ra.location_s | Путь к объекту, с которым произошло событие. |
ra.src_s | Исходный путь к объекту, который был перемещён. |
ra.remoteAddr_s | Адрес web-клиента (тип объекта имеет значение |
ra.duration_l | Продолжительность выполнения операции (тип объекта имеет значение |
ra.parameter_ss | Набор параметров операции (тип объекта имеет значение |
ra.result_s | Результат выполнения операции (тип объекта имеет значение |
ra.NCIP_s | Тип сообщения NCIP (идентификатор операции имеет значение |
ra.NCIP.itemId_s | Идентификатор документа (идентификатор операции имеет значение |
ra.NCIP.itemLocation_s | Идентификатор отдела/коллекции постоянного местонахождения документа (идентификатор операции имеет значение |
ra.NCIP.userId_s | Идентификатор читателя (идентификатор операции имеет значение |
ra.NCIP.POC_s | Идентификатор точки выдачи (идентификатор операции имеет значение |
ra.NCIP.dateDue_dt | Время ожидаемого возврата документа (идентификатор операции имеет значение |
ra.NCIP.useRestriction_ss | Сведения об ограничениях на использование документа, выданного во временное пользование (идентификатор операции имеет значение |
ra.NCIP.extent_ss | Сведения об ограничениях на использование документа, выданного во временное пользование (идентификатор операции имеет значение |
ra.NCIP.problem_ss | Сведения о препятствиях, не позволивших успешно выполнить операцию (идентификатор операции имеет значение |
ra.SIP_s | Тип сообщения 3M™ SIP v. 2.00 (тип объекта имеет значение |
ra.SIP.itemId_s | Идентификатор документа (тип объекта имеет значение |
ra.SIP.patronId_s | Идентификатор читателя (тип объекта имеет значение |
ra.session_s | Идентификатор сеанса (тип объекта имеет значение |
ra.oldSessionId_s | Прежний идентификатор сеанса (идентификатор операции имеет значение |
ra.tag_{X}_before_s | Значения поля |
ra.tag_{X}_after_s | Значения поля |