Datengranularität und -aufbewahrung
Aggregation von Datenwerten
Der Monitor Service sammelt verschiedene Daten, darunter die Nutzung von Benutzersitzungen, Details zur Anmeldeleistung von Benutzern, Details zum Lastausgleich von Sitzungen 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 bestimmten Zeitraum auf. Daher werden sie als Maxima über einen Zeitraum dargestellt.
- Die Anmeldedauer ist ein Maß für die Zeitspanne und wird daher als Durchschnitt über einen Zeitraum dargestellt.
- Die Anmeldeanzahl und Verbindungsfehler sind Zählungen von Vorkommen über einen Zeitraum und werden daher als Summen über einen Zeitraum dargestellt.
Gleichzeitige Datenauswertung
Sitzungen müssen sich überlappen, um als gleichzeitig zu gelten. 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 Übersichts- mit Rohdaten
Das Datenmodell stellt Metriken auf zwei verschiedene Arten dar:
- Die Übersichtstabellen stellen aggregierte Ansichten der Metriken in minütlichen, stündlichen und täglichen Zeitgranularitäten 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 Übersichtsdaten für Teilintervalle. Metrikübersichten sind darauf ausgelegt, den Anforderungen historischer Trends über lange Zeiträume gerecht zu werden. Diese Metriken werden für vollständige Intervalle in der Übersichtstabelle aggregiert. Es gibt keine Übersichtsdaten 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 Aggregatintervall für eine bestimmte Datengranularität bestimmen, indem Sie das Minimum und Maximum von SummaryDate aus einer bestimmten Übersichtstabelle 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 Übersichtstabelle 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 Übersichts- mit Rohdaten muss berücksichtigen, dass es keine Übersichtsdaten für mögliche Teilintervalle oder für den Beginn und das Ende des Zeitraums gibt.
- Verpasste und latente Ereignisse. Metriken, die in der Übersichts-Tabelle aggregiert werden, können leicht ungenau sein, wenn Ereignisse verpasst werden oder für den Aggregationszeitraum latent sind. Obwohl der Überwachungsdienst versucht, einen genauen aktuellen Zustand aufrechtzuerhalten, geht er nicht in der Zeit zurück, um die Aggregation in den Übersichts-Tabellen für verpasste oder latente Ereignisse neu zu berechnen.
- Verbindungs-Hochverfügbarkeit. Während der Verbindungs-Hochverfü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 Übersichts-Tabellen werden nach einem anderen Bereinigungsplan aufbewahrt als die Rohereignisdaten. Daten können fehlen, weil sie aus den Übersichts- oder Rohdaten-Tabellen bereinigt wurden. Aufbewahrungsfristen können auch für verschiedene Granularitäten von Übersichtsdaten 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. Übersichts-Tabellen werden an stündlichen Zeitzonengrenzen aggregiert. Bei 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 des angeforderten Zeitraums (T). Die Regeln lauten wie folgt:
- 0 < T <= 1 Stunde – verwendet Granularität pro Minute
- 0 < T <= 30 Tage – verwendet Granularität pro Stunde
- T > 31 Tage – verwendet Granularität pro Tag
Angeforderte 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 eine 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-Lizenzen 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 Überwachungsdienst die Standard-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 Schema-Tabelle | Betroffene Tabellen und Diagramme auf den 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 die Tabellen zur anwendungsbasierten Nutzung 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 „Lastauswertungsindex“ auf der Seite „Trends“ angezeigt werden. | 3 | 3 |
| 4 | GroomDeletedRetentionDays | MonitorData.Machine-, MonitorData.Catalog-, MonitorData.DesktopGroup- und MonitorData.Hypervisor-Entitäten, die einen LifecycleState von „Deleted“ aufweisen. Diese Einstellung löscht auch alle zugehörigen Session-, SessionDetail-, Summary-, Failure- oder LoadIndex-Datensätze. | Machine-, Catalog-, DesktopGroup- und Hypervisor-Entitäten, die einen LifecycleState von „Deleted“ aufweisen. 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 Übersichts-Tabellen | 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ätsmanagement“ 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 Warnungen aus. | 90 | Nicht zutreffend |
| 11 | GroomResourceUsageRawDataRetentionDays | MonitorData.Resourceutilization | Diese Einstellung wirkt sich auf die CPU- und Arbeitsspeicherdiagramme aus, die auf der Seite „Historische Maschinenauslastung“ (Maschinendetails) angezeigt werden, sowie auf die Datenberechnung im Bereich Kostenoptimierung auf der Registerkarte „Workload-Anpassung“. | 3 | 3 |
| 12 | GroomResourceUsageMinuteDataRetentionDays | MonitorData.ResourceUtilizationSummary | Diese Einstellung wirkt sich auf die CPU- und Arbeitsspeicherdiagramme für den Zeitraum „Letzte 2 Stunden“ aus, die auf der Seite „Historische Maschinenauslastung“ (Maschinendetails) angezeigt werden, sowie auf die Datenberechnung im Bereich Kostenoptimierung auf der Registerkarte „Workload-Anpassung“. | 7 | 7 |
| 13 | GroomResourceUsageHourDataRetentionDays | MonitorData.Resourceutilizationsummary | Diese Einstellung wirkt sich auf die CPU- und Arbeitsspeicherdiagramme aus, die auf der Seite „Maschinendetails“ unter „Historische Maschinenauslastung“ angezeigt werden, sowie auf die Datenberechnung im Bereich Kostenoptimierung auf der Registerkarte „Workload-Größenanpassung“. | 30 | 30 |
| 14 | GroomResourceUsageDayDataRetentionDays | MonitorData.Resourceutilizationsummary | Diese Einstellung wirkt sich auf das CPU- und Arbeitsspeicherdiagramm aus, das auf der Seite „Trends“ unter „Ressourcenauslastung“ der Maschine angezeigt wird, sowie auf die Seite „Maschinenauslastung“ für eine bestimmte Maschine. | 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 tendenziell schnell anwachsen. Die lizenzbasierten Aufbewahrungseinstellungen sind außerdem wie folgt:
- 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 auf Sites mit Premium-Lizenz festgelegt werden.
- GroomApplicationErrorsRetentionDays und GroomApplicationFaultsRetentionDays sind auf 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 Auswirkungen einer so großen Datenmenge in den Aggregationstabellen auf die Leistung 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. Für eine große Site (100.000 Benutzer) wachsen diese Daten schnell. Zum Beispiel würden die Daten dieser Tabellen über einen Zeitraum von zwei Jahren mehr als ein TB an Daten ansammeln, was eine High-End-Datenbank auf Unternehmensebene erfordert.