오프라인 감사 보관 정리
감사가 활성화되면 디스크 공간을 모니터링하여 감사 하위 시스템의 AuditArchiveFileRepository를 정리할지 여부를 결정해야 합니다. 선택한 구현에 따라 AuditArchiveFileRepository에는 각 구현에 대한 두 개의 하위 디렉터리 중 하나가 포함됩니다.
직접 지속성 - AuditArchiveDirectPersistence
데이터 테이블 - AuditArchive
데이터 테이블 구현을 사용하도록 선택하고 나중에 직접 지속성 구현으로 전환하면 데이터 테이블 구현의 감사 데이터가 보존됩니다. 파일 저장소의 디렉터리 구조는 다음과 같이 표시됩니다.
* 
반대의 경우도 마찬가지입니다. 직접 지속성에서 데이터 테이블로 전환해도 직접 지속성 데이터가 보존됩니다.
다음 메트릭은 저장소 정리가 필요한지에 대한 결정을 내리는 데 도움이 됩니다.
AuditArchiveDiskSpaceUsed(MB로 표시됨) - 보관 저장소에서 사용되는 디스크 공간의 양입니다.
AuditArchiveFreeDiskSpace(MB로 표시됨) - 사용할 수 있는 디스크 공간의 양입니다.
CleanUpOfflineAudit 서비스에 대해 다음 두 개의 스케줄러 사물이 있습니다.
AuditArchiveCleanupScheduler - 기본적으로 매달 마지막 금요일 오후 6시에 작업을 예약합니다. ThingWorx Composer에서 AuditArchiveCleanupScheduler로 이동하고 해당 구성 페이지에서 스케줄러에 대해 다른 CRON 표현식을 설정하여 일정을 변경할 수 있습니다.
작업이 CleanUpOfflineAudit 서비스를 호출합니다. 현재 활성 구현에 따라 CleanUpOfflineAudit은 위의 디렉터리 중 하나에서만 보관된 감사 데이터의 하위 디렉터리를 삭제합니다. 데이터 테이블 구현이 활성 상태이면 AuditArchive의 하위 디렉터리만 삭제됩니다. 마찬가지로, 직접 지속성이 활성 상태이면 AuditArchiveDirectPersistence의 하위 디렉터리만 삭제됩니다.
삭제되는 하위 디렉터리는 이 스케줄러의 DaysToArchive 속성 값보다 오래된 디렉터리입니다. ThingWorx Composer에서 이 속성의 값을 설정할 수 있습니다. 기본값은 180일입니다.
스케줄러를 사용하는 것 외에도 CleanUpOfflineAudit 서비스를 수동으로 호출할 수 있습니다. 수동으로 호출하면 서비스가 날짜를 입력으로 사용하고 현재 활성 구현에 대한 하위 디렉터리(데이터 테이블 구현의 경우 AuditArchive 또는 직접 지속성 구현의 경우 AuditArchiveDirectPersistence)에서 데이터를 제거합니다.
AuditArchiveCleanupNotificationScheduler - 사용자에게 정리 서비스가 실행됨을 알립니다. 기본적으로 이 스케줄러 사물은 매달 마지막 금요일 오후 6시에 트리거되며, 이벤트에 대한 모든 구독자에게 정리 서비스가 오후 6시(AuditArchiveCleanupScheduler에 의해 예약된 작업이 실행될 기본 시간)에 실행됨을 알리는 이벤트를 발생시킵니다. 정리 서비스에 대한 스케줄러와 같이 이 알림 서비스를 실행할 빈도 및/또는 날짜를 변경할 수 있습니다. 또한 이벤트를 구독하고 사용자 고유의 논리를 이벤트에 따라 실행할 스크립트에 추가할 수 있습니다. 자세한 내용은 아래의 이벤트 구독 단원을 참조하십시오.
정리 서비스 CleanUpOfflineAuditolderThanDate를 입력으로 허용합니다. 이 인수는 DateTime 유형이며 로캘을 기반으로 하는 형식입니다. 이 서비스는 지정된 날짜보다 오래된 감사 항목을 오프라인 스토리지에서 삭제합니다.
* 
수동으로 CleanUpOfflineAudit 서비스를 실행할 수도 있습니다.
출력의 경우 정리 서비스는 성공적으로 제거된 디렉터리와 해당하는 경우 서비스가 제거하지 못한 디렉터리에 대한 정보를 제공합니다. 파일 또는 디렉터리를 제거하지 못한 경우에도 정리 프로세스가 중단되지 않습니다. 서비스는 실패한 디렉터리를 건너뛰고 다음 디렉터리로 이동합니다.
다음 예에서는 정리 서비스의 작동 방식을 보여줍니다.
예 4. CleanUpOfflineAudit 서비스 사용
예를 들어, 서비스가 2020-03-07 날짜로 호출되고 직접 지속성 구현의 저장소 하위 디렉터리 AuditArchiveDirectPersistence에 다음 하위 디렉터리가 있다고 가정합니다.
정리 서비스가 실행된 후 저장소에는 다음 하위 디렉터리만 있습니다.
2020-03-07 하위 디렉터리는 olderThanDate로 지정된 날짜에 대한 것이고, 2020-03-08 하위 디렉터리는 olderThanDate보다 이후입니다. 이 두 하위 디렉터리는 olderThanDate보다 오래되었으므로 정리 서비스가 다른 세 개의 하위 디렉터리를 삭제하는 동안 유지됩니다.
관리자만 정리 서비스를 호출할 권한을 보유합니다. 관리자가 아닌 사용자가 해당 서비스를 호출하려면 관리자가 서비스 재정의를 사용하여 해당 사용자에게 적절한 권한을 제공해야 합니다. 서비스 재정의에 대한 자세한 내용은 이 도움말 센터의 보안 단원에 있는 서비스 재정의 항목을 참조하십시오.
정리 서비스가 몇 가지 이유 때문에 실패한 경우 실패 이유와 함께 오류 메시지가 반환됩니다.
오프라인 보존 시간 값 설정에 대한 모범 사례
메트릭 보고 기능이 활성화되면 ThingWorx Composer를 통해 감사 하위 시스템 및 해당 감사 보관 파일 저장소에 대한 관련 메트릭을 사용할 수 있습니다. 메트릭에 액세스하려면 모니터링 > 하위 시스템을 선택합니다. 감사 활동에 대한 메트릭 항목에서 전체 메트릭 목록을 볼 수 있습니다. 위에 언급된 대로 다음 메트릭은 저장소에서 보관된 감사 데이터를 정리해야 할 필요성을 잘 보여주는 지표입니다.
AuditArchiveDiskSpaceUsed(MB로 표시됨) - AuditArchiveFileRepository에서 보관된 데이터가 사용한 디스크 공간의 양입니다.
AuditArchiveFreeDiskSpace(MB로 표시됨) - 사용할 수 있는 디스크 공간의 양입니다.
사용된 디스크 공간의 양이 많고 사용 가능한 디스크 공간의 양이 적은 경우, 정리 서비스를 수동으로 호출하고 서비스가 지정한 날짜보다 오래된 모든 파일과 디렉터리를 제거하기 위한 시작점으로 사용할 날짜를 지정하여 가능한 한 즉시 저장소를 정리하는 것이 좋습니다. 또한 환경에서 요구하는 사용 가능한 디스크 공간의 양을 유지할 수 있도록 DaysToArchive를 낮은 값으로 설정해 보십시오.
이벤트 구독
AuditArchiveCleanupNotificationSchedulerAuditCleanupNotification 이벤트를 트리거하며, 구독자에게 예정된 파일 정리 작업을 알립니다. 이벤트를 구독하고 사용자 고유의 논리를 이벤트에 따라 실행할 스크립트에 추가할 수 있습니다.
AuditArchiveCleanupScheduler와 연관된 작업에는 DaysToArchive 속성이 있습니다. 기본적으로 이 속성의 값은 180일(6개월)입니다. ThingWorx Composer에서 이 값을 변경할 수 있습니다. 지정된 DaysToArchive보다 오래된 데이터를 모두 정리하도록 예약된 작업이 매달 실행됩니다. Composer에서 자동 서비스 호출 빈도를 수정할 수도 있습니다.
도움이 되셨나요?