数据粒度和保留

数据值聚合

Monitor Service 收集各种数据,其中包括用户会话使用情况、用户登录性能详细信息、会话负载平衡详细信息,以及连接和计算机故障信息。 根据其类别,数据以不同的方式聚合。 了解使用 OData Method API 提供的数据值的聚合是解释数据的关键。 例如:

  • 一段时间内发生的连接的会话故障和计算机故障。 因此它们显示为一段时间内的最大值。
  • 登录持续时间是时间长度的度量,因此它们显示为一段时间内的平均值。
  • 登录计数和连接失败次数是一段时间内这类事件的计数,因此它们显示为一段时间内的总数。

并发数据评估

会话必须重叠才能视为并发。 但是,当时间间隔为 1 分钟时,该分钟内的所有会话(无论它们是否重叠)都被视为并发。 时间间隔的大小非常小,以致计算精度所涉及的性能开销不值得增加。 如果会话发生在同一小时,但不同分钟内,则不会被视为重叠。

关联汇总表和原始数据

数据模型以两种不同方式表示指标:

  • 汇总表以每分钟、每小时和每天的时间粒度表示指标的聚合视图。
  • 原始数据表示单个事件或在会话、连接、应用程序或其他对象中跟踪到的当前状态。

尝试跨 API 调用或在数据模型自身内部关联数据时,必须理解以下概念和限制:

  • 不存在部分时间间隔的汇总数据。指标汇总是为了洞察长时间内的历史趋势。 这些指标应该聚合到完整时间间隔的汇总表中。 不存在仅包含数据收集的开始时间(最早的可用数据)而不包含结束时间的部分时间间隔的汇总数据。 这意味着,当查看一天(时间间隔=1440)的聚合时,最早和最近的不完整日期将不包含任何数据。 尽管存在这些部分时间间隔的原始数据,但绝不会汇总这些原始数据。 对于特定时间粒度,可以通过从特定汇总表提取最小和最大 SummaryDate,确定最早和最近的聚合时间间隔。 SummaryDate 列表示时间间隔的开始时间。 Granularity 列表示聚合数据的时间间隔长度。
  • 按时间关联。如上所述,指标将聚合到完整时间间隔的汇总表中。 它们可以用于了解历史趋势,但是原始事件的状态可能更新,不能通过汇总进行趋势分析。 基于时间比较汇总数据和原始数据时,必须考虑不存在可能发生的任何部分时间间隔或时间段的开头和结尾部分的汇总数据。
  • 缺失的事件和延迟事件。如果在聚合时间段有事件缺失或延迟,聚合到汇总表中的指标可能会略有误差。 尽管 Monitor Service 尝试维护准确的最新状态,但是它不会针对缺失或延迟的事件后退到过去重新计算汇总表中的聚合值。
  • 连接高可用性。在连接高可用性期间,当前连接的汇总数据计数会存在误差,但是会话实例仍在原始数据中运行。
  • 数据保留期限。汇总表中的数据保留整理计划不同于原始事件数据的计划。 由于数据已从汇总表或原始表格加以整理,因此可能会有所缺失。 不同粒度的汇总数据的保留期限可能也有所差异。 粒度较低的数据(分钟)的整理速度高于粒度较高的数据(天)。 如果由于整理导致数据在某个粒度缺失,可以在更高的粒度找到此数据。 由于 API 调用仅返回所请求的特定粒度,未接收到某个粒度的数据并不表示在同一时间段内不存在更高粒度的数据。
  • 时区。指标采用 UTC 时间戳存储。 汇总表按照小时时区边界聚合。 对于没有位于小时边界上的时区,数据聚合的时间可能会有所差异。

粒度和保留

Director 检索的聚合数据粒度是所请求的时间 (T) 跨度的函数。 规则如下:

  • 0 < T <= 1 小时 - 使用每分钟粒度
  • 0 < T <= 30 天 - 使用每小时粒度
  • T > 31 天 - 使用每日粒度

非来源于聚合数据的请求数据来源于原始会话和连接信息。 此数据往往增长很快,因此具有自己的整理设置。 通过整理可确保仅长期保留相关数据。 整理功能可以确保实现更好的性能,同时维护报告所需的粒度。 获得 Premium 许可的站点上的客户可以将整理保留期限更改为他们所需的保留天数,否则将使用默认值。 如果与站点数据库的连接中断,Monitor Service 将使用下表中指定的高级授权的默认保留天数。

要访问设置,请在 Delivery Controller™ 上运行以下 PowerShell 命令:

  asnp Citrix.*
 Get-MonitorConfiguration
 Set-MonitorConfiguration -<setting name> <value>
<!--NeedCopy-->
# 设置名称 受影响的架构表 “Monitor”页面中受影响的表格和图表 Premium 的保留天数 Advanced 的保留天数
1 GroomSessionsRetentionDays MonitorData.Session 和 Monitordata.Connection 表 此设置会影响“趋势”页面上的会话详细信息、“登录持续时间(按用户会话)”以及“基于应用程序的使用情况”表。 90 31
2 GroomFailuresRetentionDays MonitorData.MachineFailureLog 和 MonitorData.ConnectionFailureLog “趋势”页面:此设置会影响故障选项卡上的图表和表格。 90 31
3 GroomLoadIndexesRetentionDays MonitorData.LoadIndex 此设置会影响“趋势”页面上的“负载评估器指数”选项卡中显示的数据。 3 3
4 GroomDeletedRetentionDays LifecycleState 为“Deleted”的 MonitorData.Machine、MonitorData.Catalog、MonitorData.DesktopGroup 和 MonitorData.Hypervisor 实体。 此设置还将删除任何相关的 Session、SessionDetail、Summary、Failure 或 LoadIndex 记录。 LifecycleState 为“Deleted”的 Machine、Catalog、DesktopGroup 和 Hypervisor 实体。 此设置还将删除任何相关的 Session、SessionDetail、Summary、Failure 或 LoadIndex 记录。 90 31
5 GroomSummariesRetentionDays MonitorData.DesktopGroupSummary、MonitorData.FailureLogSummary 和 MonitorData.LoadIndexSummary 此设置会影响“趋势”页面上的所有图表数据。 365 31
6 GroomMachineHotfixLogRetentionDays MonitorData.Hotfix 此设置会影响“计算机详细信息”页面上显示的 VDA 修补程序数据。 90 31
7 GroomMinuteRetentionDays 所有汇总表 此设置会影响“趋势”页面上显示的“过去 2 小时”时间段的图表。 3 3
8 GroomHourlyRetentionDays 所有汇总表 此设置会影响“趋势”页面上显示的每周图表。 32 31
9 GroomApplicationInstanceRetentionDays MonitorData.ApplicationInstance 此设置会影响“容量管理”选项卡上的图表和表格以及“趋势”页面上的应用程序使用情况表。 90 不适用
10 GroomNotificationLogRetentionDays MonitorData.NotificationLog 此设置会影响 Monitor 上显示的警报。 90 不适用
11 GroomResourceUsageRawDataRetentionDays MonitorData.Resourceutilization 此设置会影响“历史计算机利用率”计算机详细信息页面中显示的 CPU 和内存图表以及“成本优化”区域中的“合理调整工作负载”选项卡上的数据计算。 3 3
12 GroomResourceUsageMinuteDataRetentionDays MonitorData.ResourceUtilizationSummary 此设置会影响“历史计算机利用率”计算机详细信息页面中显示的“过去 2 小时”时间段的 CPU 和内存图表以及“成本优化”区域中的“合理调整工作负载”选项卡上的数据计算。 7 7
13 GroomResourceUsageHourDataRetentionDays MonitorData.Resourceutilizationsummary 此设置会影响“历史计算机利用率”计算机详细信息页面中显示的 CPU 和内存图表以及“成本优化”区域中的“合理调整工作负载”选项卡上的数据计算。 30 30
14 GroomResourceUsageDayDataRetentionDays MonitorData.Resourceutilizationsummary 此设置会影响特定计算机的“趋势”页面和“计算机利用率”页面上的计算机“资源利用率”中显示的 CPU 和内存图表。 365 31
15 GroomProcessUsageRawDataRetentionDays MonitorData.ProcessUtilization 此设置会影响“计算机历史使用情况”页面上显示的每个进程的资源趋势信息。 1 1
16 GroomProcessUsageMinuteDataRetentionDays MonitorData.ProcessUtilizationMinuteSummary 此设置会影响“计算机历史利用率”页面上显示的“过去 2 小时”的每个进程的 CPU 和内存使用情况图表。 3 3
17 GroomProcessUsageHourDataRetentionDays MonitorData.ProcessUtilizationHourSummary 此设置会影响“计算机历史使用情况”页面上显示的每个进程的 CPU 和内存使用趋势。 7 7
18 GroomProcessUsageDayDataRetentionDays MonitorData.ProcessUtilizationDaySummary 此设置会影响“计算机历史使用情况”页面上显示的每个进程的 CPU 和内存使用趋势。 30 30
19 GroomSessionMetricsDataRetentionDays MonitorData.Sessionmetrics 此设置会影响“用户详细信息”页面的“会话性能”选项卡上显示的所有图表。 1 1
20 GroomMachineMetricDataRetentionDays MonitorData.Machinemetrics 此设置会影响“趋势”页面上的“资源利用率”选项卡上的图表和表格。 3 3
21 GroomMachineMetricDaySummaryDataRetentionDays MonitorData.MachineMetricDaySummary 此设置会影响“趋势”页面上的“资源利用率”选项卡上的图表和表格。 365 31
22 GroomApplicationErrorsRetentionDays MonitorData.ApplicationError 此设置会影响“应用程序”页面上的“应用程序错误”列中显示的错误详细信息。 1 1
23 GroomApplicationFaultsRetentionDays MonitorData.Applicationfailure 此设置会影响“应用程序”页面上的“应用程序故障”列。 1 1

小心:

修改 Monitor Service 数据库上的值需要重新启动此服务才能使新值生效。 建议仅在 Citrix 技术支持人员的指导下修改 Monitor Service 数据库。

设置 GroomProcessUsageRawDataRetentionDays、GroomResourceUsageRawDataRetentionDays 和 GroomSessionMetricsDataRetentionDays 限制到其默认值 1,而 GroomProcessUsageMinuteDataRetentionDays 限制到期默认值 3。 用于设置这些值的 PowerShell 命令已被禁用,因为进程使用数据增长速度较快。 此外,基于许可证的保留设置如下所示:

  • Premium 许可的站点 - 所有设置的整理保留期限为 1000 天(Citrix 建议 365 天)。
  • 获得了 Advanced 许可的站点 - 所有设置的整理保留期限都限制为 31 天。
  • 所有其他站点 - 所有设置的整理保留期限都限制为 7 天。

例外:

  • 只能在获得 Premium 许可的站点中设置 GroomApplicationInstanceRetentionDays。
  • GroomApplicationErrorsRetentionDays 和 GroomApplicationFaultsRetentionDays 在获得 Premium 许可的站点中被限制为 31 天。

长期保留数据会对表格大小产生以下影响:

  • 小时数据。如果允许小时粒度的数据在数据库中最多保留两年,具有 1000 个交付组的站点会导致数据库按以下方式增长:

    1000 个交付组 x 24 小时/天 x 365 天/年 x 2 年 = 17,520,000 行数据。 聚合表中存在如此巨大的数据量对性能的影响是非常显著的。 如果从此表格提取控制板数据,将需要使用大型数据库服务器。 数据量过大可能会对性能造成巨大影响。

  • 会话和事件数据。 每次启动会话和建立连接/重新连接时收集的数据。 对于大型站点(10 万个用户),此数据的增长速度很快。 例如,经过两年时间,这些表格中收集的数据将超过 1 TB,这将要求使用企业级高端数据库。

数据粒度和保留