在线和离线审计数据 (直接久存)
直接久存实现中的服务及其参数与数据表实现中的有所不同。本主题将介绍在线和离线审计数据、可用于提取审计数据的服务以及用于直接久存实现的参数。
在线审计数据
当已启用直接久存实现时,在线审计条目将根据为审计子系统 DaysOnline 参数指定的值进行在线维护。提供的服务可用于管理在线审计数据存储中数据的数量:
存档和清除操作由 ThingWorx Platform 中的相关计划程序事物触发。这些计划程序事物负责定期调用相关服务。您可以配置计划程序以满足组织需求。默认情况下,这些服务每天运行一次。必要时,也可手动调用上述服务。在线审计消息会保存到“审计子系统”AuditArchiveFileRepository 存储库的 AuditArchiveDirectPersistence 目录下所存储的文件中。无法配置此信息库。
* 
在审计子系统上下文中离线表示不可再对审计消息进行筛选或搜索,并且审计消息不会再存储于在线数据库中。
在线审计数据的保留条件是指审计子系统的审计数据在线配置参数可保留的天数。ArchiveAuditHistoryDirectPersistence 服务不会删除符合此保留条件的数据。相反,如果满足条件,则可以按排程或手动运行单独的 PurgeAuditData 服务来删除在线审计数据。
要使用 QueryAuditHistoryWithQueryCriteria 服务搜索在线审计数据,请参阅
离线审计数据
离线审计数据提供了不需要经常访问、但用于管理的审计数据存储位置。ArchiveAuditHistoryDirectPersistence 服务会将在线审计数据复制到离线存储中。管理员可使用以下服务管理离线数据:
ExportAuditData 服务将调用 ArchiveAuditHistoryDirectPersistence 服务,这会将请求的在线审计数据从 AuditArchiveFileRepository 复制到指定的导出文件。导出操作用于处理并传输已存档的数据,并将其存储在指定的导出文件中。
CleanUpOfflineAudit 服务通常基于计划程序运行。此服务也可以手动运行。将 olderThanDate 传递给此服务,以指定要从 AuditArchiveFileRepository 中删除的已存档文件。
离线文件存档时不进行本地化。离线读取器服务 ExportAuditData 可基于指定的区域设置检索文件。有关详细信息,请参阅导出审计数据
下图用于展示离线存档文件的层次结构。图表后的段落将对 FileRepository 正下方的节点 "OfflineAudit folder for active implementation" 进行说明。
离线存档的层次结构
在上图中,节点 "OfflineAudit folder for active implementation" 表示已启用的实现、直接久存和/或数据表信息库中的主目录。如果您从数据表实现开始,然后切换到直接久存实现,则此处将有两个目录,即数据表实现的 AuditArchive 以及直接久存实现的 AuditArchiveDirectPersistence。两个目录均与上方所示子目录结构相同。从一个实现切换到另一个实现时,将保留存档的审计数据。
* 
如果决定从一个实现切换到另一个实现,请确保在切换之前对需要保留的任何审计数据进行存档。
注有日期的文件夹是指其所包含审计消息的日期,而不是运行存档的日期。如上图所示,注有日期的文件夹名称采用 YYYY-MM-DD (ISO 8601) 格式,系统每天为审计消息创建一个新文件夹。“离线审计块”为压缩的 JSON 文件,其中包含该日期的审计消息。默认块大小为 50,000 行。请注意,最小大小为 10,000 行。系统管理员可以在“审计子系统”的配置中更改块的默认大小。例如,系统管理员可以指定 70,000 行的块大小。注有日期的文件夹中的多行消息存在压缩的块文件。如果每个审计条目约为 1KB,则未压缩或内存中的块文件大小约为 70MB。
数据保留和性能
要最大化性能,在线审计数据和离线数据存储需要达到平衡。“审计子系统”提供了存档和清除操作,以帮助您实现系统的最佳平衡。虽然存档操作不会检查子系统的 DaysOnline 参数,但 PurgeAuditData 服务会对其进行检查。
当其计划程序调用 ArchiveAuditHistoryDirectPersistence 服务时,当前日期将作为 olderThanDate 进行传递。所有早于此日期的在线审计消息都将被存档。此服务不会检查审计子系统的 DaysOnline 参数。
PurgeAuditData 服务将检查“审计子系统”的 DaysOnline 参数,以确定哪些在线审计消息应该予以清除,哪些应该仍保持在线提供。在删除审计消息之前,此服务会检查是否有任何在线审计消息已标记为待删除但尚未存档。如果确实如此,则此服务将调用 ArchiveAuditHistoryDirectPersistence 服务。这些操作可确保所删除的任何数据在被删除之前均已存档。
* 
如果 DaysOnline 的值为 0 且调用了清除服务,则所有数据都将被移动到离线信息库,继而从在线信息库中删除。
导出在线和离线审计数据
自 ThingWorx Platform v.9.0.0 开始,审计子系统将提供两个导出服务,一个仅适用于在线审计数据,另一个对于在线和离线审计数据均适用。有关使用这两种服务导出审计数据的信息,请参阅导出在线审计数据导出审计数据
这对您有帮助吗?