Datengranularität und -aufbewahrung
Aggregation von Datenwerten
Der Überwachungsdienst erfasst verschiedene Daten, einschließlich der Nutzung von Benutzersitzungen, Details zur Anmeldeleistung von Benutzern, Details zum Sitzungslastenausgleich sowie Informationen zu Verbindungs- und Maschinenfehlern. Daten werden je nach Kategorie unterschiedlich aggregiert. Das Verständnis der Aggregation von Datenwerten, die über die OData-Methoden-APIs präsentiert werden, ist entscheidend für die Interpretation der Daten. Zum Beispiel:
- Verbundene Sitzungen und Maschinenfehler treten über einen Zeitraum auf. Daher werden sie als Maximalwerte über einen Zeitraum dargestellt.
- Die Anmeldedauer ist ein Maß für die Zeitdauer, daher wird sie als Durchschnitt über einen Zeitraum dargestellt.
- Die Anmeldeanzahl und Verbindungsfehler sind Zählungen von Vorkommen über einen Zeitraum, daher werden sie als Summen über einen Zeitraum dargestellt.
Gleichzeitige Datenauswertung
Sitzungen müssen sich überlappen, um als gleichzeitig betrachtet zu werden. Wenn das Zeitintervall jedoch 1 Minute beträgt, werden alle Sitzungen in dieser Minute (unabhängig davon, ob sie sich überlappen) als gleichzeitig betrachtet. Die Größe des Intervalls ist so gering, dass der Leistungsaufwand für die Berechnung der Präzision den Mehrwert nicht rechtfertigt. Wenn die Sitzungen in derselben Stunde, aber nicht in derselben Minute stattfinden, gelten sie nicht als überlappend.
Korrelation von Zusammenfassungstabellen mit Rohdaten
Das Datenmodell stellt Metriken auf zwei verschiedene Arten dar:
- Die Zusammenfassungstabellen stellen aggregierte Ansichten der Metriken in zeitlichen Granularitäten pro Minute, Stunde und Tag dar.
- Die Rohdaten stellen einzelne Ereignisse oder den aktuellen Zustand dar, die in der Sitzung, Verbindung, Anwendung und anderen Objekten verfolgt werden.
Beim Versuch, Daten über API-Aufrufe hinweg oder innerhalb des Datenmodells selbst zu korrelieren, ist es wichtig, die folgenden Konzepte und Einschränkungen zu verstehen:
- Keine Zusammenfassungsdaten für Teilintervalle. Metrikzusammenfassungen sind darauf ausgelegt, den Anforderungen historischer Trends über lange Zeiträume gerecht zu werden. Diese Metriken werden für vollständige Intervalle in der Zusammenfassungstabelle aggregiert. Es gibt keine Zusammenfassungsdaten für ein Teilintervall am Anfang (älteste verfügbare Daten) der Datenerfassung noch am Ende. Beim Anzeigen von Aggregationen eines Tages (Intervall=1440) bedeutet dies, dass die ersten und die jüngsten unvollständigen Tage keine Daten enthalten. Obwohl Rohdaten für diese Teilintervalle existieren könnten, werden sie niemals zusammengefasst. Sie können das früheste und späteste aggregierte Intervall für eine bestimmte Datengranularität ermitteln, indem Sie das minimale und maximale SummaryDate aus einer bestimmten Zusammenfassungstabelle abrufen. Die Spalte SummaryDate stellt den Beginn des Intervalls dar. Die Spalte Granularity stellt die Länge des Intervalls für die aggregierten Daten dar.
- Korrelation nach Zeit. Metriken werden für vollständige Intervalle in der Zusammenfassungstabelle aggregiert, wie im vorhergehenden Abschnitt beschrieben. Sie können für historische Trends verwendet werden, aber Rohereignisse könnten im Zustand aktueller sein als das, was für die Trendanalyse zusammengefasst wurde. Jeder zeitbasierte Vergleich von Zusammenfassungs- mit Rohdaten muss berücksichtigen, dass es keine Zusammenfassungsdaten für möglicherweise auftretende Teilintervalle oder für den Anfang und das Ende des Zeitraums gibt.
- Verpasste und latente Ereignisse. Metriken, die in der Zusammenfassungstabelle aggregiert werden, können leicht ungenau sein, wenn Ereignisse verpasst werden oder für den Aggregationszeitraum latent sind. Obwohl der Monitor Service versucht, einen genauen aktuellen Zustand aufrechtzuerhalten, geht er nicht in der Zeit zurück, um die Aggregation in den Zusammenfassungstabellen für verpasste oder latente Ereignisse neu zu berechnen.
- Verbindungshochverfügbarkeit. Während der Verbindungshochverfügbarkeit wird es Lücken in den Zusammenfassungsdaten der aktuellen Verbindungen geben, aber die Sitzungsinstanzen werden weiterhin in den Rohdaten ausgeführt.
- Datenaufbewahrungsfristen. Daten in den Zusammenfassungstabellen werden nach einem anderen Bereinigungsplan aufbewahrt als die Rohereignisdaten. Daten können fehlen, weil sie aus den Zusammenfassungs- oder Rohdatenbanken bereinigt wurden. Aufbewahrungsfristen können auch für verschiedene Granularitäten von Zusammenfassungsdaten unterschiedlich sein. Daten mit geringerer Granularität (Minuten) werden schneller bereinigt als Daten mit höherer Granularität (Tage). Wenn Daten aufgrund der Bereinigung in einer Granularität fehlen, können sie in einer höheren Granularität gefunden werden. Da die API-Aufrufe nur die spezifisch angeforderte Granularität zurückgeben, bedeutet der Empfang keiner Daten für eine Granularität nicht, dass die Daten für eine höhere Granularität für denselben Zeitraum nicht existieren.
- Zeitzonen. Metriken werden mit UTC-Zeitstempeln gespeichert. Zusammenfassungstabellen werden an stündlichen Zeitzonengrenzen aggregiert. Für Zeitzonen, die nicht auf stündliche Grenzen fallen, kann es zu Abweichungen bei der Datenaggregation kommen.
Granularität und Aufbewahrung
Die Granularität der von Director abgerufenen aggregierten Daten ist eine Funktion der angeforderten Zeitspanne (T). Die Regeln lauten wie folgt:
- 0 < T <= 1 Stunde – verwendet eine Granularität pro Minute
- 0 < T <= 30 Tage – verwendet eine Granularität pro Stunde
- T > 31 Tage – verwendet eine Granularität pro Tag
Angefragte Daten, die nicht aus aggregierten Daten stammen, kommen aus den Rohdaten der Sitzungs- und Verbindungsinformationen. Diese Daten neigen dazu, schnell zu wachsen, und haben daher ihre eigene Bereinigungseinstellung. Die Bereinigung stellt sicher, dass nur relevante Daten langfristig aufbewahrt werden. Die Bereinigung gewährleistet eine bessere Leistung bei gleichzeitiger Beibehaltung der für die Berichterstellung erforderlichen Granularität. Kunden mit Premium-lizenzierten Sites können die Bereinigungsaufbewahrung auf die gewünschte Anzahl von Aufbewahrungstagen ändern, andernfalls wird der Standardwert verwendet. Im Falle eines Verbindungsverlusts mit der Site-Datenbank verwendet der Monitor Service die standardmäßigen Aufbewahrungstage für Premium-Berechtigungen, wie in der folgenden Tabelle angegeben.
Um auf die Einstellungen zuzugreifen, führen Sie die folgenden PowerShell-Befehle auf dem Delivery Controller™ aus:
asnp Citrix.*
Get-MonitorConfiguration
Set-MonitorConfiguration -<setting name> <value>
<!--NeedCopy-->
| # | Einstellungsname | Betroffene Schematabelle | Betroffene Tabellen und Diagramme auf Monitor-Seiten | Aufbewahrungstage für Premium | Aufbewahrungstage für Advanced |
|---|---|---|---|---|---|
| 1 | GroomSessionsRetentionDays | MonitorData.Session- und Monitordata.Connection-Tabellen | Diese Einstellung wirkt sich auf Sitzungsdetails, Anmeldedauer pro Benutzersitzung und anwendungsbasierte Nutzungstabellen auf der Seite „Trends“ aus. | 90 | 31 |
| 2 | GroomFailuresRetentionDays | MonitorData.MachineFailureLog und MonitorData.ConnectionFailureLog | Seite „Trends“: Diese Einstellung wirkt sich auf Diagramme und Tabellen auf der Registerkarte „Fehler“ aus. | 90 | 31 |
| 3 | GroomLoadIndexesRetentionDays | MonitorData.LoadIndex | Diese Einstellung wirkt sich auf die Daten aus, die auf der Registerkarte „Load Evaluator Index“ auf der Seite „Trends“ angezeigt werden. | 3 | 3 |
| 4 | GroomDeletedRetentionDays | MonitorData.Machine-, MonitorData.Catalog-, MonitorData.DesktopGroup- und MonitorData.Hypervisor-Entitäten mit dem LifecycleState „Deleted“. Diese Einstellung löscht auch alle zugehörigen Session-, SessionDetail-, Summary-, Failure- oder LoadIndex-Datensätze. | Machine-, Catalog-, DesktopGroup- und Hypervisor-Entitäten mit dem LifecycleState „Deleted“. Diese Einstellung löscht auch alle zugehörigen Session-, SessionDetail-, Summary-, Failure- oder LoadIndex-Datensätze. | 90 | 31 |
| 5 | GroomSummariesRetentionDays | MonitorData.DesktopGroupSummary, MonitorData.FailureLogSummary und MonitorData.LoadIndexSummary | Diese Einstellung wirkt sich auf alle Diagrammdaten auf der Seite „Trends“ aus. | 365 | 31 |
| 6 | GroomMachineHotfixLogRetentionDays | MonitorData.Hotfix | Diese Einstellung wirkt sich auf die VDA-Hotfix-Daten aus, die auf der Seite „Maschinendetails“ angezeigt werden. | 90 | 31 |
| 7 | GroomMinuteRetentionDays | Alle Zusammenfassungstabellen | Diese Einstellung wirkt sich auf die Diagramme für den Zeitraum „Letzte 2 Stunden“ aus, die auf der Seite „Trends“ angezeigt werden. | 3 | 3 |
| 8 | GroomHourlyRetentionDays | alle Zusammenfassungstabellen | Dies wirkt sich auf die wöchentlichen Diagramme aus, die auf der Seite „Trends“ angezeigt werden. | 32 | 31 |
| 9 | GroomApplicationInstanceRetentionDays | MonitorData.ApplicationInstance | Diese Einstellung wirkt sich auf das Diagramm und die Tabellen auf der Registerkarte „Kapazitätsverwaltung“ sowie auf die Tabellen zur Anwendungsnutzung auf der Seite „Trends“ aus. | 90 | Nicht zutreffend |
| 10 | GroomNotificationLogRetentionDays | MonitorData.NotificationLog | Diese Einstellung wirkt sich auf die in Monitor angezeigten Warnmeldungen aus. | 90 | Nicht zutreffend |
| 11 | GroomResourceUsageRawDataRetentionDays | MonitorData.Resourceutilization | Diese Einstellung wirkt sich auf die CPU- und Arbeitsspeichergrafiken aus, die auf der Seite „Maschinendetails“ unter „Historische Maschinenauslastung“ angezeigt werden. | 3 | 3 |
| 12 | GroomResourceUsageMinuteDataRetentionDays | MonitorData.ResourceUtilizationSummary | Diese Einstellung wirkt sich auf die CPU- und Arbeitsspeichergrafiken für den Zeitraum „Letzte 2 Stunden“ aus, die auf der Seite „Maschinendetails“ unter „Historische Maschinenauslastung“ angezeigt werden. | 7 | 7 |
| 13 | GroomResourceUsageHourDataRetentionDays | MonitorData.Resourceutilizationsummary | Diese Einstellung wirkt sich auf die CPU- und Arbeitsspeicherdiagramme aus, die auf der Seite „Details zur historischen Maschinenauslastung“ angezeigt werden. | 30 | 30 |
| 14 | GroomResourceUsageDayDataRetentionDays | MonitorData.Resourceutilizationsummary | Diese Einstellung wirkt sich auf das CPU- und Arbeitsspeicherdiagramm aus, das auf der Seite „Trends“ unter „Ressourcenauslastung“ für Maschinen und auf der Seite „Maschinenauslastung“ für eine bestimmte Maschine angezeigt wird. | 365 | 31 |
| 15 | GroomProcessUsageRawDataRetentionDays | MonitorData.ProcessUtilization | Diese Einstellung wirkt sich auf die Informationen zum Ressourcentrend pro Prozess aus, die auf der Seite zur historischen Maschinennutzung angezeigt werden. | 1 | 1 |
| 16 | GroomProcessUsageMinuteDataRetentionDays | MonitorData.ProcessUtilizationMinuteSummary | Diese Einstellung wirkt sich auf die Diagramme zur CPU- und Speichernutzung pro Prozess für die „Letzten 2 Stunden“ aus, die auf der Seite „Historische Maschinenauslastung“ angezeigt werden. | 3 | 3 |
| 17 | GroomProcessUsageHourDataRetentionDays | MonitorData.ProcessUtilizationHourSummary | Diese Einstellung wirkt sich auf den Trend der CPU- und Speichernutzung pro Prozess aus, der auf der Seite „Historische Maschinennutzung“ angezeigt wird. | 7 | 7 |
| 18 | GroomProcessUsageDayDataRetentionDays | MonitorData.ProcessUtilizationDaySummary | Diese Einstellung beeinflusst den Trend der CPU- und Speichernutzung pro Prozess, der auf der Seite zur historischen Maschinennutzung angezeigt wird. | 30 | 30 |
| 19 | GroomSessionMetricsDataRetentionDays | MonitorData.Sessionmetrics | Diese Einstellung beeinflusst alle Diagramme, die auf der Registerkarte „Sitzungsleistung“ der Benutzerdetailseite angezeigt werden. | 1 | 1 |
| 20 | GroomMachineMetricDataRetentionDays | MonitorData.Machinemetrics | Diese Einstellung beeinflusst das Diagramm und die Tabelle auf der Registerkarte „Ressourcennutzung“ auf der Seite „Trends“. | 3 | 3 |
| 21 | GroomMachineMetricDaySummaryDataRetentionDays | MonitorData.MachineMetricDaySummary | Diese Einstellung wirkt sich auf das Diagramm und die Tabelle auf der Registerkarte „Ressourcennutzung“ auf der Seite „Trends“ aus. | 365 | 31 |
| 22 | GroomApplicationErrorsRetentionDays | MonitorData.ApplicationError | Diese Einstellung wirkt sich auf die Fehlerdetails aus, die in der Spalte „Anwendungsfehler“ auf der Seite „Anwendungen“ angezeigt werden. | 1 | 1 |
| 23 | GroomApplicationFaultsRetentionDays | MonitorData.Applicationfailure | Diese Einstellung wirkt sich auf die Spalte „Anwendungsfehler“ auf der Seite „Anwendungen“ aus. | 1 | 1 |
Vorsicht:
Das Ändern von Werten in der Monitor Service-Datenbank erfordert einen Neustart des Dienstes, damit die neuen Werte wirksam werden. Es wird empfohlen, Änderungen an der Monitor Service-Datenbank nur unter Anleitung des Citrix Supports vorzunehmen.
Die Einstellungen GroomProcessUsageRawDataRetentionDays, GroomResourceUsageRawDataRetentionDays und GroomSessionMetricsDataRetentionDays sind auf ihre Standardwerte von 1 begrenzt, während GroomProcessUsageMinuteDataRetentionDays auf seinen Standardwert von 3 begrenzt ist. Die PowerShell-Befehle zum Festlegen dieser Werte wurden deaktiviert, da die Prozessnutzungsdaten schnell anwachsen. Außerdem gelten die folgenden lizenzbasierten Aufbewahrungseinstellungen:
- Sites mit Premium-Lizenz – die Bereinigungsaufbewahrung für alle Einstellungen ist auf 1000 Tage begrenzt (Citrix empfiehlt 365 Tage).
- Sites mit Advanced-Lizenz – die Bereinigungsaufbewahrung für alle Einstellungen ist auf 31 Tage begrenzt.
- Alle anderen Sites – die Bereinigungsaufbewahrung für alle Einstellungen ist auf 7 Tage begrenzt.
Ausnahmen:
- GroomApplicationInstanceRetentionDays kann nur in Sites mit Premium-Lizenz festgelegt werden.
- GroomApplicationErrorsRetentionDays und GroomApplicationFaultsRetentionDays sind in Sites mit Premium-Lizenz auf 31 Tage begrenzt.
Das Speichern von Daten über lange Zeiträume hat folgende Auswirkungen auf die Tabellengrößen:
-
Stündliche Daten. Wenn stündliche Daten bis zu zwei Jahre in der Datenbank verbleiben dürfen, kann eine Site mit 1000 Bereitstellungsgruppen dazu führen, dass die Datenbank wie folgt wächst:
1000 Bereitstellungsgruppen x 24 Stunden/Tag x 365 Tage/Jahr x 2 Jahre = 17.520.000 Datenzeilen. Die Leistungsauswirkungen einer so großen Datenmenge in den Aggregationstabellen sind erheblich. Da die Dashboard-Daten aus dieser Tabelle stammen, können die Anforderungen an den Datenbankserver hoch sein. Übermäßig große Datenmengen können die Leistung drastisch beeinträchtigen.
-
Sitzungs- und Ereignisdaten. Daten, die jedes Mal erfasst werden, wenn eine Sitzung gestartet und eine Verbindung/Wiederverbindung hergestellt wird. Bei einer großen Site (100.000 Benutzer) wachsen diese Daten schnell. Zum Beispiel würden die Daten dieser Tabellen über zwei Jahre hinweg mehr als ein TB an Daten ansammeln, was eine High-End-Datenbank auf Unternehmensebene erfordert.