清理離線稽核封存
啟用稽核後,您需要監視磁碟空間,以確定是否需要清理稽核子系統的 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 所排程工作的預設執行時間) 執行。對於清理服務的排程器,您可以變更執行此通知服務的日期與/或頻率。您也可以訂閱事件,並根據事件在您要執行的指令集中新增自己的邏輯。如需詳細資訊,請參閱下面訂閱事件部份的內容。
清除服務會取用 CleanUpOfflineAudit 作為輸入 olderThanDate。此引數的類型為 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 設定為較低的值,以將可用磁碟空間保持在環境所需的量。
訂閱事件
AuditArchiveCleanupNotificationScheduler 會觸發名為 AuditCleanupNotification 的事件,並通知訂閱者即將進行的檔案清除操作的相關情況。您可以訂閱事件,並根據事件在您要執行的指令集中新增自己的邏輯。
AuditArchiveCleanupScheduler 關聯的工作有一個名為 DaysToArchive 的內容。依預設,此內容的值為 180 天 (6 個月)。您可以從 ThingWorx Composer 變更此值。已排程的工作會每月執行一次,來清除早於所指定 DaysToArchive 的所有資料。您也可以在 Composer 中修改自動服務呼叫的頻率。
這是否有幫助?