Datengranularität und -beibehaltung
Aggregation von Datenwerten
Der Überwachungsdienst erfasst diverse Daten über Benutzersitzungsnutzung, Benutzeranmeldeleistung, Sitzungslastausgleich und zu Fehlern bei Verbindungen und Maschinen. Die Daten werden je nach Kategorie unterschiedlich aggregiert. Zum Interpretieren der Daten sind Kenntnisse über die Aggregation der mit den OData-Methoden-APIs abgerufenen Datenwerte unverzichtbar. Beispiel:
- Fehler bei verbundenen Sitzungen und Maschinen treten über einen Zeitraum verteilt auf. Daher werden sie per Zeitraum als Höchstwerte angegeben.
- Die Anmeldedauer ist ein Zeitlängenwert und wird daher als Durchschnitt per Zeitraum angegeben.
- Die Anzahl der Anmeldungen und Verbindungsfehler repräsentieren eine Anzahl von Vorkommen in einem bestimmten Zeitraum und werden als Summen in einem Zeitraum gemacht.
Gleichzeitigkeit von Daten
Sitzungen müssen sich überschneiden, um als gleichzeitig angesehen 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 behandelt. Das Intervall ist so klein, dass der Mehraufwand für die Berechnung der Genauigkeit sich nicht lohnt. Finden die Sitzungen in der gleichen Stunde, aber nicht in der gleichen Minute statt, werden sie als einander nicht überschneidend angesehen.
Korrelation zwischen Zusammenfassungstabellen und Rohdaten
Das Datenmodell stellt Metriken auf zwei verschiedene Arten dar:
- Die Zusammenfassungstabellen zeigen aggregierte Ansichten der Metriken in Granularitäten pro Minute, Stunde und Tag an.
- Die Rohdaten stehen für einzelne Ereignisse oder den aktuellen Zustand, der bzw. die für eine Sitzung, Verbindung, Anwendung und andere Objekte protokolliert werden.
Wenn Sie versuchen, Daten über API-Aufrufe hinweg oder innerhalb des Datenmodells selbst zu korrelieren, sollten Sie die folgenden Konzepte und Einschränkungen kennen:
- Keine Zusammenfassungsdaten für Teilintervalle: Die Zusammenfassungen von Metriken erfüllen die Anforderungen von historischen Trends über lange Zeiträume hinweg. Diese Metriken werden für vollständige Intervalle in der Zusammenfassungstabelle aggregiert. Für Teilintervalle am Anfang (die ältesten verfügbaren Daten) und am Ende der Datensammlung gibt es keine Zusammenfassungsdaten. Beim Anzeigen der Aggregation eines Tages (Intervall=1440) bedeutet dies, dass der erste Tag und der aktuelle unvollständige Tag keine Daten aufweisen. Obwohl für diese Teilintervalle u. U. Rohdaten vorhanden sind, werden sie nie zusammengefasst. Sie können das früheste und letzte Aggregationsintervall für eine bestimmte Datengranularität festlegen, indem Sie die Mindest- und Höchstwerte für “SummaryDate” aus einer bestimmten Zusammenfassungstabelle nehmen. Die Spalte “SummaryDate” stellt den Start des Intervalls dar. Die Spalte “Granularity” steht für die Länge des Intervalls der aggregierten Daten.
- Korrelation nach Zeit. Metriken werden für vollständige Intervalle in der Übersichtstabelle aggregiert, wie im vorhergehenden Abschnitt beschrieben. Sie können für historische Trends verwendet werden, aber rohe Ereignisdaten stellen möglicherweise einen aktuelleren Zustand dar als die Zusammenfassung für die Trendanalyse. Bei zeitbasierten Vergleichen zwischen der Zusammenfassung und den Rohdaten muss beachtet werden, dass es keine Zusammenfassungsdaten für Teilintervalle gibt, die am Anfang und Ende des Zeitraums auftreten.
- Verpasste und latente Ereignisse. In der Übersichtstabelle aggregierte Metriken können leicht ungenau sein, wenn Ereignisse verpasst werden oder für den Aggregationszeitraum latent sind. Obwohl der Überwachungsdienst versucht, einen genauen aktuellen Zustand zu erhalten, wird die Aggregation für verpasste oder latente Ereignisse nicht im Nachhinein neu für die Zusammenfassungstabellen berechnet.
- Hohe Verbindungsverfügbarkeit. Während der Hochverfügbarkeit der Verbindung kommt es zu Lücken in der Zählung der Zusammenfassungsdaten der aktuellen Verbindungen, die Sitzungsinstanzen werden jedoch weiterhin in den Rohdaten ausgeführt.
- Beibehaltungszeitraum für Daten: Daten werden in den Zusammenfassungstabellen basierend auf einem anderen Bereinigungszeitplan beibehalten als Rohdaten von Ereignissen. Daten fehlen möglicherweise, weil die Zusammenfassungstabellen oder die unformatierten Tabellen bereinigt wurde. Beibehaltungszeiträume können unterschiedliche Granularitäten für Zusammenfassungsdaten aufweisen. Daten basierend auf niedrigerer Granularität (Minuten) werden schneller bereinigt als Daten, die auf höherer Granularität (Tage) basieren. Wenn Daten bereinigt wurden und in einer Granularitätskategorie fehlen, sind sie möglicherweise in einer höheren Granularitätskategorie. API-Aufrufe geben nur Daten für die angeforderte Granularität zurück. Wenn für eine Granularität keine Daten zurückgegeben werden, sind möglicherweise für den gleichen Zeitraum Daten für eine höhere Granularität vorhanden.
- Zeitzonen: Metriken werden mit UTC-Zeitstempeln gespeichert. Zusammenfassungstabellen werden basierend auf stündlichen Zeitzonengrenzen aggregiert. Bei Zeitzonen, die nicht in diese stündlichen Grenzen fallen, gibt es möglicherweise Unstimmigkeiten beim Ort der Datenaggregation.
Datengranularität und -beibehaltung
Die Granularität der aggregierten Daten, die von Director abgerufen werden, ist eine Funktion des angeforderten Zeitraums (T). Folgende Regeln gelten:
- 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
Angeforderte Daten, die nicht von aggregierten Daten stammen, stammen von den rohen Sitzungs- und Verbindungsinformationen. Diese Menge dieser Daten nimmt schnell zu, daher haben sie eine eigene Bereinigungseinstellung. Bereinigung gewährleistet, dass nur relevante Daten langfristig gespeichert werden. Mit der Bereinigung wird eine bessere Leistung sichergestellt, während die für die Berichterstellung erforderliche Granularität beibehalten werden kann. Bei einer Site mit Premium-Lizenz kann der Aufbewahrungszeitraum auf die gewünschte Anzahl an Tagen eingestellt werden, ansonsten wird der Standardwert verwendet. Im Fall eines Verbindungsverlusts mit der Sitedatenbank, gilt der standardmäßige Aufbewahrungszeitraum für Premium-Ansprüche (siehe Tabelle unten).
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 | Betroffen von der Schematabelle | Beeinflusste Tabellen und Diagramme auf Überwaschungsseiten | Aufbewahrungszeit für Premium | Aufbewahrungszeit für Advanced |
|---|---|---|---|---|---|
| 1 | GroomSessionsRetentionDays | MonitorData.Session- und Monitordata.Connection-Tabellen | Diese Einstellung wirkt sich auf Sitzungsdetails, Anmeldedauer nach Benutzersitzung und anwendungsbasierte -Auslastungstabellen 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 “Gelöscht”. Durch diese Einstellung werden auch zugehörige Einträge für Sitzung, Sitzungsdetail, Zusammenfassung, Fehler oder LoadIndex gelöscht. | Maschinen-, Katalog-, Desktopgruppen- und Hypervisor-Entitäten mit dem LifecycleState “Gelöscht”. Durch diese Einstellung werden auch zugehörige Einträge für Sitzung, Sitzungsdetail, Zusammenfassung, Fehler oder LoadIndex gelöscht. | 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-Hotfixdaten 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 Anwendungsnutzungstabellen auf der Seite “Trends” aus. | 90 | Nicht zutreffend |
| 10 | GroomNotificationLogRetentionDays | MonitorData.NotificationLog | Diese Einstellung wirkt sich auf die auf dem Bildschirm angezeigten Warnungen aus. | 90 | Nicht zutreffend |
| 11 | GroomResourceUsageRawDataRetentionDays | MonitorData.Resourceutilization | Diese Einstellung wirkt sich auf die CPU- und Speicherdiagramme aus, die auf der Seite “Maschinendetails” “Historische Maschinenauslastung” angezeigt werden, sowie auf die Datenberechnung im Bereich “Kostenoptimierung” auf der Registerkarte “Anpassung der Workload”. | 3 | 3 |
| 12 | GroomResourceUsageMinuteDataRetentionDays | MonitorData.ResourceUtilizationSummary | Diese Einstellung wirkt sich auf CPU- und Speicherdiagramme für den Zeitraum “Letzte 2 Stunden” aus, die auf der Seite “Maschinendetails” “Historische Maschinenauslastung” und auf die Datenberechnung im Bereich “Kostenoptimierung” auf der Registerkarte “Anpassung der Workload” angezeigt werden. | 7 | 7 |
| 13 | GroomResourceUsageHourDataRetentionDays | MonitorData.Resourceutilizationsummary | Diese Einstellung wirkt sich auf die CPU- und Speicherdiagramme aus, die auf der Seite “Maschinendetails” “Historische Maschinenauslastung” angezeigt werden, sowie auf die Datenberechnung im Bereich “Kostenoptimierung” auf der Registerkarte “Anpassung der Workload”. | 30 | 30 |
| 14 | GroomResourceUsageDayDataRetentionDays | MonitorData.Resourceutilizationsummary | Diese Einstellung wirkt sich auf das CPU- und Speicherdiagramm aus, das auf der Seite “Trends” der Maschine und auf der Seite “Maschinenauslastung” für eine bestimmte Maschine angezeigt wird. | 365 | 31 |
| 15 | GroomProcessUsageRawDataRetentionDays | MonitorData.ProcessUtilization | Diese Einstellung wirkt sich auf die Ressourcentrendinformationen pro Prozess aus, die auf der Seite mit der historischen Maschinennutzung angezeigt werden. | 1 | 1 |
| 16 | GroomProcessUsageMinuteDataRetentionDays | MonitorData.ProcessUtilizationMinuteSummary | Diese Einstellung wirkt sich auf die Diagramme zur CPU- und Speicherauslastung 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 CPU- und Speichernutzungstrend pro Prozess aus, der auf der Seite mit der historischen Maschinennutzung angezeigt wird. | 7 | 7 |
| 18 | GroomProcessUsageDayDataRetentionDays | MonitorData.ProcessUtilizationDaySummary | Diese Einstellung wirkt sich auf den CPU- und Speichernutzungstrend pro Prozess aus, der auf der Seite mit der historischen Maschinennutzung angezeigt wird. | 30 | 30 |
| 19 | GroomSessionMetricsDataRetentionDays | MonitorData.Sessionmetrics | Diese Einstellung wirkt sich auf alle Diagramme aus, die auf der Registerkarte “Sitzungsleistung” der Benutzerdetailseite angezeigt werden. | 1 | 1 |
| 20 | GroomMachineMetricDataRetentionDays | MonitorData.Machinemetrics | Diese Einstellung wirkt sich auf das Diagramm und die Tabelle auf der Registerkarte “Ressourcennutzung” auf der Seite “Trends” aus. | 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.Anwendungsfehler | Diese Einstellung wirkt sich auf die Spalte “Anwendungsfehler” auf der Seite “Anwendungen” aus. | 1 | 1 |
Achtung:
Nach dem Ändern von Werten auf der Überwachungsdienstdatenbank ist ein Neustart des Diensts erforderlich, damit die neuen Werte wirksam werden. Führen Sie Änderungen an der Überwachungsdienstdatenbank nur mit Anleitung vom Citrix Support durch.
Die Einstellungen GroomProcessUsageRawDataRetentionDays, GroomResourceUsageRawDataRetentionDays und GroomSessionMetricsDataRetentionDays sind auf den Standardwert 1 beschränkt. GroomProcessUsageMinuteDataRetentionDays ist auf den Standardwert 3 beschränkt. Die PowerShell- Befehle zum Festlegen dieser Werte wurden deaktiviert, da die Menge der Prozessdaten schnell anwächst. Außerdem gelten folgende lizenzbasierte Aufbewahrungseinstellungen:
- Sites mit Premium-Lizenz: Der Aufbewahrungszeitraum ist für alle Einstellungen auf 1000 Tage beschränkt (Citrix empfiehlt 365 Tage).
- Sites mit Advanced-Lizenz - Der Aufbewahrungszeitraum ist für alle Einstellungen auf 31 Tage beschränkt.
- Alle anderen Sites - Der Beibehaltungszeitraum ist für alle Einstellungen auf 7 Tage beschränkt.
Ausnahmen:
- GroomApplicationInstanceRetentionDays kann nur für Sites mit Premium-Lizenz festgelegt werden.
- GroomApplicationErrorsRetentionDays und GroomApplicationFaultsRetentionDays sind bei Sites mit Premium-Lizenz auf 31 Tage begrenzt.
Das Beibehalten von Daten über lange Zeiträume hinweg hat die folgenden Auswirkungen auf die Größe von Tabellen:
-
Stündliche Daten. Wenn stündliche Daten bis zu zwei Jahre lang in der Datenbank verbleiben dürfen, kann eine Site mit 1000 Liefergruppen 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 Datenreihen. Diese große Datenmenge in den Aggregationstabellen hat beträchtliche Auswirkungen auf die Leistung. Wenn man bedenkt, dass die Dashboarddaten aus dieser Tabelle gezogen werden, sind die Anforderungen an den Datenbankserver möglicherweise riesig. Übermäßig viele Daten können dramatische Auswirkungen auf die Leistung haben.
-
Sitzungs- und Ereignisdaten. Daten, die bei jedem Start einer Sitzung und jeder Herstellung einer Verbindung/Wiederverbindung erfasst werden. Bei einer großen Site (100.000 Benutzer) nimmt die Menge dieser Daten schnell zu. Beispielsweise entsprechen die über zwei Jahre gespeicherten Tabellen mehr als ein TB Daten und erfordern eine High-End-Unternehmensdatenbank.