清理审计存档
启用审计后,您需要监控磁盘空间以确定是否需要清理审计子系统的 AuditArchiveFileRepository。以下指标可帮助您决定是否需要清理信息库:
AuditArchiveDiskSpaceUsed (以 MB 为单位) - 存档信息库使用的磁盘空间大小。
AuditArchiveFreeDiskSpace (以 MB 为单位) - 磁盘的可用空间大小。
ExportAuditData 服务包括两种 Scheduler 事物:
AuditArchiveCleanupScheduler - 默认情况下,在每月最后一个星期五下午 6 点计划作业。作业将调用 CleanUpOfflineAudit 服务并从 AuditArchiveFileRepository 中删除超过此 Scheduler 事物 DaysToArchive 属性的所有离线审计数据目录。可从 ThingWorx Composer 更改此属性。其默认值为 180 天。CleanUpOfflineAudit 服务也可手动调用。手动调用时,服务可输入日期,并从信息库中移除所有早于该日期的审计数据目录。
AuditArchiveCleanupNotificationScheduler - 通知用户将运行清理服务。默认情况下,在每月最后一个星期五上午 6 点触发该 Scheduler 事物,并触发事件以通知所有订阅者将在下午 6 点 (将运行 AuditArchiveCleanupScheduler 计划的作业的默认时间) 运行清理服务事件。与清理服务的计划相同,您可以更改运行该通知服务的日期和/或频率。您还可以订阅事件,并根据事件在您想要运行的脚本中添加自己的逻辑。有关详细信息,请参阅下文的 订阅事件部分。
清理服务 CleanUpOfflineAudit 将在输入 olderThanDate 时执行。此自变量的类型为 DateTime,其格式为 YYYY-MM-DD。服务会从离线存储中删除早于所指定日期的审计条目。请注意,您还可以手动运行此服务。
对于输出,清理服务将提供有关已成功移除目录的信息,以及服务移除失败的目录的信息 (如果适用)。请注意,移除文件或目录失败不会停止清理过程。服务将跳过失败目录,并移动到下一个目录。
例如,假设通过日期 2017-06-07 调用服务,且审计存档文件信息库的根目录包含具有以下名称的子目录:
运行清理服务后,信息库如下所示:
只有管理员有权调用清理服务。要允许非管理员用户调用服务,管理员需要使用“服务覆盖”为用户提供正确权限。有关服务覆盖的信息,请参阅此“帮助中心”的 安全部分中的 服务覆盖主题。
当清理服务成功完成时,系统会将显示已清理空间大小的消息写入服务器日志。如果清理服务由于某种原因失败,则会返回包含失败原因的错误消息。
用于设置离线保留时间值的最佳做法
如果已启用 Metrics Reporting 功能,则可以通过 ThingWorx Composer 使用有关“审计子系统”及其“审计存档文件信息库”的相关指标。要访问指标,请选择“监控” > “子系统”。您可以查看 审计活动指标主题中的整个指标列表。如上所述,下列指标是衡量是否需要清理信息库中已存档审计数据的良好指标:
AuditArchiveDiskSpaceUsed (以 MB 为单位) - AuditArchiveFileRepository 中已存档数据使用的磁盘空间大小。
AuditArchiveFreeDiskSpace (以 MB 为单位) - 磁盘的可用空间大小。
如果磁盘的占用空间较大且剩余空间较小,建议您尽快清理信息库,方法为手动调用清理服务,并为服务指定一个日期作为移除所有早于指定日期的文件和目录的起始点。此外,还要考虑将 DaysToArchive 设置为较低的值,以保持环境需要的可用磁盘空间大小。
订阅事件
AuditArchiveCleanupNotificationScheduler 触发事件 AuditCleanupNotification,并就即将进行的文件清理操作通知订阅者。您可以订阅事件,并根据事件在您想要运行的脚本中添加自己的逻辑。
AuditArchiveCleanupScheduler 相关联的作业具有 DaysToArchive 属性。默认情况下,此属性的值为 180 天 (六个月)。您可以从 ThingWorx Composer 更改此值。计划的作业将会每月运行,以清理超过指定 DaysToArchive 的所有数据。也可以在 Composer 中修改自动服务调用的频率。