数据粒度和保留
数据值的聚合
监视服务收集各种数据,包括用户会话使用情况、用户登录性能详细信息、会话负载平衡详细信息以及连接和计算机故障信息。数据根据其类别以不同方式聚合。了解使用 OData 方法 API 呈现的数据值的聚合方式对于解释数据至关重要。例如:
-
已连接会话和计算机故障在一段时间内发生。因此,它们以一段时间内的最大值形式呈现。
-
登录持续时间是时间长度的度量,因此它以一段时间内的平均值形式呈现。
-
登录计数和连接故障是某段时间内发生的次数,因此它们以一段时间内的总和形式呈现。
并发数据评估
您的会话必须重叠才能被视为并发。但是,当时间间隔为 1 分钟时,该分钟内的所有会话(无论是否重叠)都被视为并发。间隔太小,以至于计算精度的性能开销不值得增加的价值。如果会话发生在同一小时内,但不在同一分钟内,则不视为重叠。
汇总表与原始数据的关联
数据模型以两种不同的方式表示指标:
-
汇总表以分钟、小时和天为时间粒度表示指标的聚合视图。
-
原始数据表示在会话、连接、应用程序和其他对象中跟踪的单个事件或当前状态。
尝试跨 API 调用或在数据模型本身内关联数据时,了解以下概念和限制非常重要:
-
部分间隔没有汇总数据。 指标汇总旨在满足长期历史趋势的需求。这些指标会聚合到汇总表中,用于完整的间隔。在数据收集的开始(最旧的可用数据)或结束时,没有部分间隔的汇总数据。查看一天的聚合数据(间隔=1440)时,这意味着第一个和最近的不完整天数没有数据。尽管这些部分间隔可能存在原始数据,但它们从不进行汇总。从特定的汇总表中提取最小和最大 SummaryDate,以确定特定数据粒度的最早和最晚聚合间隔。SummaryDate 列表示间隔的开始。Granularity 列表示聚合数据间隔的长度。
-
按时间关联。 指标会按照上一节所述,聚合到汇总表中,用于完整的间隔。它们可用于历史趋势,但原始事件的状态可能比为趋势分析而汇总的数据更具时效性。任何基于时间的汇总数据与原始数据比较都必须考虑到,对于可能出现的部分间隔或时间段的开始和结束,没有汇总数据。
-
遗漏和延迟事件。 如果事件在聚合期间被遗漏或延迟,聚合到汇总表中的指标可能略有不准确。尽管 Monitor Service 尝试维护准确的当前状态,但它不会回溯时间来重新计算汇总表中遗漏或延迟事件的聚合。
-
连接高可用性。 在连接 HA 期间,当前连接的汇总数据计数中存在间隙,但会话实例仍在原始数据中运行。
-
数据保留期。 汇总表中的数据与原始事件数据的清理计划不同。数据可能因已从汇总表或原始表中清理而丢失。不同粒度的汇总数据,其保留期也可能不同。较低粒度的数据(分钟)比较高粒度的数据(天)清理得更快。如果某个粒度的数据因清理而丢失,则可能在较高粒度中找到。由于 API 调用只返回请求的特定粒度,因此某个粒度没有收到数据并不意味着在同一时间段内较高粒度的数据不存在。
-
时区。 指标以 UTC 时间戳存储。汇总表按小时时区边界进行聚合。对于不落在小时边界上的时区,数据聚合的位置可能存在一些差异。
粒度和保留
Monitor 检索到的聚合数据的粒度是所请求的时间 (T) 跨度的函数。规则如下:
-
0 \< T \<= 30 天使用每小时粒度
-
T \> 31 天使用每日粒度
未来自聚合数据的请求数据来自原始会话和连接信息。此类数据往往增长迅速,因此有其自己的清理设置。清理可确保仅保留长期相关的有用数据。这可确保在保持报告所需粒度的同时获得更好的性能。
| # | 设置名称 | 受影响的架构表 | 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 的 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 Service 数据库中的值。
长期保留数据对表大小有以下影响:
-
每小时数据。 如果允许每小时数据在数据库中保留长达两年,一个拥有 1000 个交付组的站点可能导致数据库按如下方式增长:1000 个交付组 x 24 小时/天 x 365 天/年 x 2 年 = 17,520,000 行数据。聚合表中如此大量的数据对性能的影响是巨大的。鉴于仪表板数据是从此表中提取的,对数据库服务器的要求可能很高。过大的数据量可能会对性能产生显著影响。
-
会话和事件数据。 这是每次会话启动和建立连接/重新连接时收集的数据。对于大型站点(10 万用户),此数据增长迅速。例如,这些表两年内将收集超过 1 TB 的数据,需要高端企业级数据库。