数据粒度和保留
数据值的聚合
Monitor 服务收集各种数据,包括用户会话使用情况、用户登录性能详细信息、会话负载平衡详细信息以及连接和计算机故障信息。数据根据其类别以不同方式聚合。了解使用 OData 方法 API 呈现的数据值的聚合对于解释数据至关重要。例如:
- 已连接会话和计算机故障在一段时间内发生。因此,它们以时间段内的最大值形式公开。
- 登录持续时间是时间长度的度量,因此它以时间段内的平均值形式公开。
- 登录计数和连接故障是时间段内发生的次数,因此它们以时间段内的总和形式公开。
并发数据评估
会话必须重叠才能被视为并发。但是,当时间间隔为 1 分钟时,该分钟内的所有会话(无论是否重叠)都被视为并发。间隔的大小非常小,以至于计算精度所涉及的性能开销不值得增加的价值。如果会话发生在同一小时内,但不在同一分钟内,则不视为重叠。
汇总表与原始数据的关联
数据模型以两种不同方式表示指标:
- 汇总表表示以每分钟、每小时和每天的时间粒度显示的指标聚合视图。
- 原始数据表示在会话、连接、应用程序和其他对象中跟踪的单个事件或当前状态。
尝试跨 API 调用或在数据模型本身内关联数据时,了解以下概念和限制非常重要:
- 不提供部分间隔的汇总数据。 指标汇总旨在满足长期历史趋势的需求。这些指标会聚合到汇总表中以形成完整的间隔。在数据收集的开始(最旧的可用数据)或结束时,不提供部分间隔的汇总数据。查看一天的聚合(Interval=1440)时,这意味着第一个和最近的不完整日期没有数据。尽管这些部分间隔可能存在原始数据,但它们从不进行汇总。从特定汇总表中提取最小和最大 SummaryDate 以确定特定数据粒度的最早和最晚聚合间隔。SummaryDate 列表示间隔的开始。Granularity 列表示聚合数据间隔的长度。
- 按时间关联。 指标会聚合到汇总表中以形成完整的间隔,如上一节所述。它们可用于历史趋势,但原始事件的状态可能比为趋势分析汇总的数据更具时效性。任何基于时间的汇总数据与原始数据比较都必须考虑到,对于可能发生的部分间隔或时间段的开始和结束,不提供汇总数据。
- 遗漏和延迟事件。 如果事件遗漏或延迟到聚合周期,聚合到汇总表中的指标可能略有不准确。尽管 Monitor 服务尝试维护准确的当前状态,但它不会回溯时间来重新计算汇总表中遗漏或延迟事件的聚合。
- 连接高可用性。 在连接 HA 期间,当前连接的汇总数据计数中存在间隙,但会话实例仍在原始数据中运行。
- 数据保留期。 汇总表中的数据与原始事件数据的清理计划不同。数据可能因已从汇总表或原始表中清理而丢失。不同粒度的汇总数据保留期也可能不同。较低粒度的数据(分钟)比较高粒度的数据(天)清理得更快。如果数据因清理而从某个粒度中丢失,则可能在更高粒度中找到。由于 API 调用仅返回请求的特定粒度,因此某个粒度没有数据并不意味着同一时间段的更高粒度不存在数据。
- 时区。 指标以 UTC 时间戳存储。汇总表按小时时区边界聚合。对于不落在小时边界上的时区,数据聚合的位置可能存在一些差异。
粒度和保留
Monitor 检索的聚合数据的粒度是所请求的时间 (T) 跨度的函数。规则如下:
- 0 < T <= 30 天使用每小时粒度
- T > 31 天使用每天粒度
不来自聚合数据的请求数据来自原始会话和连接信息。此数据往往增长迅速,因此有其自己的清理设置。清理可确保仅保留长期相关的有用数据。这可确保更好的性能,同时保持报告所需的粒度。
# | 设置名称 | 受影响的架构表 | Monitor 页面中受影响的表和图表 | 高级版保留天数 | 进阶版保留天数 |
---|---|---|---|---|---|
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 的 MonitorData.Machine、MonitorData.Catalog、MonitorData.DesktopGroup 和 MonitorData.Hypervisor 实体。此设置还会删除任何相关的 Session、SessionDetail、Summary、Failure 或 LoadIndex 记录。 | 具有“已删除”LifecycleState 的 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 | GroomHourlyRetentionDays | 所有汇总表 | 这会影响“趋势”页面上显示的每周图表。 | 32 | 31 |
8 | GroomApplicationInstanceRetentionDays | MonitorData.ApplicationInstance | 此设置会影响“容量管理”选项卡上的图表和表以及“趋势”页面上的应用程序使用情况表。 | 90 | 不适用 |
9 | GroomNotificationLogRetentionDays | MonitorData.NotificationLog | 此设置会影响 Monitor 上显示的警报。 | 90 | 不适用 |
10 | GroomResourceUsageRawDataRetentionDays | MonitorData.Resourceutilization | 此设置会影响“计算机详细信息”页面上“历史计算机利用率”中显示的 CPU 和内存图表,以及成本优化区域“工作负载调整大小”选项卡上的数据计算。 | 3 | 3 |
11 | GroomResourceUsageHourDataRetentionDays | MonitorData.Resourceutilizationsummary | 此设置会影响“计算机详细信息”页面上“历史计算机利用率”中显示的 CPU 和内存图表,以及成本优化区域“工作负载调整大小”选项卡上的数据计算。 | 30 | 30 |
12 | GroomResourceUsageDayDataRetentionDays | MonitorData.Resourceutilizationsummary | 此设置会影响“趋势”页面上计算机“资源利用率”和特定计算机的“计算机利用率”页面上显示的 CPU 和内存图表。 | 365 | 31 |
13 | GroomProcessUsageRawDataRetentionDays | MonitorData.ProcessUtilization | 此设置会影响计算机历史使用情况页面上显示的每个进程的资源趋势信息。 | 1 | 1 |
14 | GroomProcessUsageHourDataRetentionDays | MonitorData.ProcessUtilizationHourSummary | 此设置会影响计算机历史使用情况页面上显示的每个进程的 CPU 和内存使用趋势。 | 7 | 7 |
15 | GroomProcessUsageDayDataRetentionDays | MonitorData.ProcessUtilizationDaySummary | 此设置会影响计算机历史使用情况页面上显示的每个进程的 CPU 和内存使用趋势。 | 30 | 30 |
16 | GroomSessionMetricsDataRetentionDays | MonitorData.Sessionmetrics | 此设置会影响用户详细信息页面上“会话性能”选项卡中显示的所有图表。 | 1 | 1 |
17 | GroomMachineMetricDataRetentionDays | MonitorData.Machinemetrics | 此设置会影响“趋势”页面上“资源利用率”选项卡上的图表和表。 | 3 | 3 |
18 | GroomMachineMetricDaySummaryDataRetentionDays | MonitorData.MachineMetricDaySummary | 此设置会影响“趋势”页面上“资源利用率”选项卡上的图表和表。 | 365 | 31 |
19 | GroomApplicationErrorsRetentionDays | MonitorData.ApplicationError | 此设置会影响“应用程序”页面上“应用程序错误”列中显示的错误详细信息。 | 1 | 1 |
20 | GroomApplicationFaultsRetentionDays | MonitorData.Applicationfailure | 此设置会影响“应用程序”页面上的“应用程序故障”列。 | 1 | 1 |
注意:
您无法修改 Monitor 服务数据库中的值。
长期保留数据对表大小有以下影响:
-
每小时数据。 如果允许每小时数据在数据库中保留长达两年,包含 1000 个交付组的站点可能导致数据库按如下方式增长:
1000 个交付组 x 24 小时/天 x 365 天/年 x 2 年 = 17,520,000 行数据。聚合表中如此大量的数据对性能的影响是巨大的。鉴于仪表板数据是从此表中提取的,对数据库服务器的要求可能很高。过多的数据量可能会对性能产生显著影响。
-
会话和事件数据。 这是每次会话启动和建立连接/重新连接时收集的数据。对于大型站点(10 万用户),此数据增长迅速。例如,这些表两年的数据将收集超过 1 TB 的数据,需要高端企业级数据库。