清除稽核封存
啟用稽核後,您需要監視磁碟空間,以確定是否需要清理稽核子系統的 AuditArchiveFileRepository。下列指標可協助您決定是否有必要清除此存放庫:
AuditArchiveDiskSpaceUsed (以 MB 為單位顯示) - 封存存放庫使用的磁碟空間量。
AuditArchiveFreeDiskSpace (以 MB 為單位顯示) - 磁碟可用空間量。
ExportAuditData 服務有兩個排程器物件:
AuditArchiveCleanupScheduler - 依預設,會將工作排程為在每月最後一個星期五晚 6 點執行。工作會呼叫 CleanUpOfflineAudit 服務,並從 AuditArchiveFileRepository 中刪除早於此排程器物件 DaysToArchive 內容的所有離線稽核資料目錄。此內容可從 ThingWorx Composer 中變更。其預設值為 180 天。CleanUpOfflineAudit 服務也可手動呼叫。手動呼叫時,此服務會取用日期作為輸入,並從此存放庫移除早於該日期的所有稽核資料目錄。
AuditArchiveCleanupNotificationScheduler - 通知使用者將會執行清除服務。依預設,此排程器物件會在每月最後一個星期五早 6 點觸發,並會觸發事件來通知所有事件訂閱者,清除服務將於晚 6 點 (AuditArchiveCleanupScheduler 所排程工作的預設執行時間) 執行。對於清除服務的排程,您可以變更此通知服務執行的日期與/或頻率。您也可以訂閱事件,並根據事件在您要執行的指令集中新增自己的邏輯。如需詳細資訊,請參閱下面的 訂閱事件部份。
清除服務會取用 CleanUpOfflineAudit 作為輸入 olderThanDate 。此引數的類型為 DateTime,格式為 YYYY-MM-DD。此服務會從離線儲存區刪除早於指定日期的稽核項目。請注意,您也可以手動執行此服務。
對於輸出,清除服務會提供已成功移除之目錄的相關資訊,在適用情況下,也會提供服務無法移除之目錄的相關資訊。請注意,如果移除檔案或目錄失敗,並不會停止清除流程。服務會略過失敗目錄並移至下一個目錄。
例如,假設以 2017-06-07 的日期呼叫服務,且稽核封存檔案存放庫的根目錄包含具有下列名稱的子目錄:
那麼,在清除服務執行之後,存放庫看起來會如下所示:
只有管理員有權呼叫清除服務。對於非管理員使用者,管理員必須使用服務取代賦予其適當的權限,才能呼叫該服務。如需有關服務取代的資訊,請參閱本「說明中心」之 安全性部份的 服務取代主題。
清除服務成功完成後,會在伺服器記錄檔中寫入一則訊息,說明已清除的空間量。如果清除服務因某種原因而失敗,會傳回一則錯誤訊息,說明失敗原因。
設定離線保留時間值的最佳作法
若已啟用指標報告功能,則有關稽核子系統及其稽核封存檔案存放庫的相關指標在整個 ThingWorx Composer 中都可供您使用。欲存取指標,請選取「監視」 > 「子系統」。您可以在 稽核活動的指標主題中查看完整指標清單。如上所述,下列指標就是判斷是否需要清除存放庫中所封存稽核資料的良好指標:
AuditArchiveDiskSpaceUsed (以 MB 為單位顯示) - AuditArchiveFileRepository 中封存資料所使用的磁碟空間量。
AuditArchiveFreeDiskSpace (以 MB 為單位顯示) - 磁碟可用空間量。
如果已用磁碟空間較多,而可用空間較少,則建議您盡快透過手動呼叫清除服務,並指定一個日期 (此服務將會使用該日期作為起點來移除早於您所指定之日期的所有檔案與目錄),來清除存放庫。此外,也請考慮將 DaysToArchive 設定為較低的值,以將可用磁碟空間保持在環境所需的量。
訂閱事件
AuditArchiveCleanupNotificationScheduler 會觸發名為 AuditCleanupNotification 的事件,並通知訂閱者即將進行的檔案清除操作的相關情況。您可以訂閱事件,並根據事件在您要執行的指令集中新增自己的邏輯。
AuditArchiveCleanupScheduler 關聯的工作有一個名為 DaysToArchive 的內容。依預設,此內容的值為 180 天 (6 個月)。您可以從 ThingWorx Composer 變更此值。已排程的工作會每月執行一次,來清除早於所指定 DaysToArchive 的所有資料。您也可以在 Composer 中修改自動服務呼叫的頻率。