Очистка данных в автономных архивах аудита
Если аудит включен, необходимо контролировать дисковое пространство, чтобы определить, нужно ли выполнять очистку данных в репозитории AuditArchiveFileRepository подсистемы аудита. В зависимости от выбранной реализации, AuditArchiveFileRepository содержит один из двух подкаталогов, по одному для каждой реализации:
Непосредственное сохранение - AuditArchiveDirectPersistence
Таблица данных - AuditArchive
Если выбрано использование реализации таблицы данных, а затем пользователь переключается к реализации непосредственного сохранения, сохраняются данные аудита из реализации таблицы данных. Структура каталогов в репозитории файлов будет выглядеть следующим образом:
* 
Обратное также является верным: при переключении от непосредственного сохранения к таблице данных сохраняются данные непосредственного сохранения.
Следующие параметры могут помочь принимать решение о необходимости очистки репозитория:
AuditArchiveDiskSpaceUsed (в МБ) - место на диске, используемое репозиторием архива.
AuditArchiveFreeDiskSpace (в МБ) - остающееся свободное место на диске.
Существуют две вещи планировщика для сервиса CleanUpOfflineAudit:
AuditArchiveCleanupScheduler - по умолчанию планирует задание на последнюю пятницу каждого месяца в 18:00. Можно изменить расписание, выполнив переход к вещи AuditArchiveCleanupScheduler в ThingWorx Composer и задав для нее другое выражение CRON на странице конфигурации.
Задание вызывает сервис CleanUpOfflineAudit. В зависимости от текущей активной реализации CleanUpOfflineAudit удаляет подкаталоги архивных данных аудита только из одного из указанных выше каталогов. Если активной является реализация таблицы данных, удаляются только подкаталоги из AuditArchive. Аналогично, если активна реализация непосредственного сохранения, удаляются только подкаталоги из AuditArchiveDirectPersistence.
Удаляемые подкаталоги являются более старыми, чем значение DaysToArchive свойства этого планировщика. Можно задать для этого свойства значение из ThingWorx Composer. Его значение по умолчанию: 180 суток.
Кроме использования планировщика можно вызывать сервис CleanUpOfflineAudit вручную. При вызове вручную сервис принимает дату в качестве входных данных и удаляет данные из подкаталога для текущей активной реализации, AuditArchive для реализации таблицы данных или AuditArchiveDirectPersistence для реализации непосредственного сохранения.
AuditArchiveCleanupNotificationScheduler - уведомляет пользователей, что будет запущен сервис очистки. По умолчанию эта вещь планировщика запускается в последнюю пятницу каждого месяца в 18:00 и инициирует событие, уведомляющее любых подписчиков на событие, что сервис очистки будет выполнен в 18:00 (время по умолчанию для выполнения задания по расписанию AuditArchiveCleanupScheduler). Как и с расписанием для сервиса очистки данных, можно изменить день и/или частоту выполнения этого сервиса уведомлений. Можно также подписаться на событие и добавить собственную логику в сценарий, который следует выполнить на основе события. Дополнительные сведения см. ниже в разделе Подписка на событие.
Сервис очистки CleanUpOfflineAudit получает в качестве входных данных olderThanDate. Этот аргумент имеет тип DateTime в формате, соответствующем языковой настройке. Этот сервис удаляет из автономного хранилища записи аудита, созданные раньше указанной даты.
* 
Можно также запустить сервис CleanUpOfflineAudit вручную.
Для выходных данных сервис очистки предоставляет информацию о папках, которые были успешно удалены, и, если применимо, о папках, которые сервису не удалось удалить. Учтите, что неудачная попытка удалить файл или папку не останавливает процесс очистки. Сервис пропускает неудачную папку и переходит к следующей.
В следующем примере показано, как работает сервис очистки данных.
Пример 4. Использование сервиса CleanUpOfflineAudit
Предположим, например, что сервис вызван с датой 2020-03-07 и подкаталог репозитория для реализации непосредственного сохранения AuditArchiveDirectPersistence содержит следующие подкаталоги:
После запуска сервиса очистки данных репозиторий содержит только следующие подкаталоги:
Подкаталог с именем 2020-03-07 соответствует дате, заданной как olderThanDate, а подкаталог с именем 2020-03-08 следует после olderThanDate. Эти подкаталоги остаются, тогда как сервис очистки данных удаляет остальные три подкаталога, потому что они старше olderThanDate.
Разрешение вызывать сервис очистки имеется только у администраторов. Чтобы вызывать этот сервис мог неадминистративный пользователь, администратор должен предоставить этому пользователю соответствующие разрешения, переопределив сервис. Дополнительные сведения о переопределениях сервиса см. в разделе Переопределения сервиса в главе Безопасность этого справочного центра.
Если сервис очистки не удалось выполнить по каким-либо причинам, возвращается сообщение об ошибке с причиной сбоя.
Рекомендации по настройке значения времени автономного сохранения
Если включена функция отчетности о параметрах, то параметры, относящиеся к подсистеме аудита и соответствующему репозиторию файлов архива аудита, доступны в ThingWorx Composer. Чтобы получить доступ к данным метрикам, выберите Мониторинг > Подсистема. Весь список параметров можно увидеть в разделе Параметры для задач аудита. Как показано выше, следующие метрики являются хорошими индикаторами, показывающими, что необходимо очистить архивные данные аудита в репозитории:
AuditArchiveDiskSpaceUsed (в МБ) - какой объем пространства на диске использован архивными данными в AuditArchiveFileRepository.
AuditArchiveFreeDiskSpace (в МБ) - остающееся свободное место на диске.
Если на диске используется много пространства и осталось мало свободного места, рекомендуется очистить репозиторий как можно скорее, вызвав сервис очистки вручную и указав дату, которую сервис будет использовать в качестве исходной точки для удаления всех файлов и папок, дата которых предшествует указанной дате. Кроме того, рассмотрите возможность задать более низкое значение настройки DaysToArchive, чтобы поддерживать на диске свободный объем, который требуется для вашей среды.
Подписка на событие
AuditArchiveCleanupNotificationScheduler запускает событие с именем AuditCleanupNotification и уведомляет подписчиков о предстоящей операции очистки файлов. Можно подписаться на событие и добавить собственную логику в сценарий, который следует выполнить на основе события.
Задание, связанное с AuditArchiveCleanupScheduler, имеет свойство с именем DaysToArchive. Значение этого свойства по умолчанию: 180 суток (шесть месяцев). Это значение можно изменить из ThingWorx Composer. Запланированное задание выполняется ежемесячно для очистки всех данных, дата которых предшествует значению DaysToArchive. Можно также изменить в Composer частоту автоматического вызова сервиса.
Было ли это полезно?