Datengranularität und -aufbewahrung

Aggregation von Datenwerten

Der Monitor Service erfasst verschiedene Daten, darunter die Nutzung von Benutzersitzungen, Details zur Anmeldeleistung von Benutzern, Details zum Sitzungslastenausgleich sowie Informationen zu Verbindungs- und Maschinenausfällen. 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 Maschinenausfälle treten über einen Zeitraum auf. Daher werden sie als Maximalwerte über einen Zeitraum dargestellt.
  • Die Anmeldedauer ist ein Maß für die Zeitdauer 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.

Auswertung gleichzeitiger Daten

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 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 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 oder 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 wie im vorhergehenden Abschnitt beschrieben für vollständige Intervalle in der Zusammenfassungstabelle aggregiert. 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 Teilintervalle gibt, die auftreten könnten, oder für den Anfang und das Ende des Zeitraums.
  • Verpasste und latente Ereignisse. Metriken, die in der Übersichtstabelle 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 Übersichtstabellen für verpasste oder latente Ereignisse neu zu berechnen.
  • Verbindungs-Hochverfügbarkeit. Während der Verbindungs-Hochverfügbarkeit wird es Lücken in den zusammenfassenden Datenzählungen der aktuellen Verbindungen geben, aber die Sitzungsinstanzen werden weiterhin in den Rohdaten ausgeführt.
  • Datenaufbewahrungsfristen. Daten in den Übersichtstabellen werden nach einem anderen Bereinigungsplan aufbewahrt als die Rohereignisdaten. Daten können fehlen, weil sie aus den Übersichts- oder Rohtabellen 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 aus 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. Übersichtstabellen 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 des angeforderten Zeitraums (T). Die Regeln lauten wie folgt:

  • 0 < T <= 1 Stunde – verwendet minütliche Granularität
  • 0 < T <= 30 Tage – verwendet stündliche Granularität
  • T > 31 Tage – verwendet tägliche Granularität

Angeforderte Daten, die nicht aus aggregierten Daten stammen, stammen 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-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 Bereinigung Aufbewahrungstage für Premium Aufbewahrungstage für Advanced
  1 GroomSessionsRetentionDays Aufbewahrung von Sitzungs- und Verbindungsdatensätzen nach Beendigung der Sitzung 90 31
  2 GroomFailuresRetentionDays Datensätze von MachineFailureLog und ConnectionFailureLog 90 31
  3 GroomLoadIndexesRetentionDays LoadIndex-Datensätze 90 31
  4 GroomDeletedRetentionDays Maschinen-, Katalog-, Desktopgruppen- und Hypervisor-Entitäten, die einen LifecycleState von ‘Deleted’ haben. Diese Einstellung löscht auch alle zugehörigen Session-, SessionDetail-, Summary-, Failure- oder LoadIndex-Datensätze. 90 31
  5 GroomSummariesRetentionDays DesktopGroupSummary-, FailureLogSummary- und LoadIndexSummary-Datensätze. Aggregierte Daten – tägliche Granularität. 365 31
  6 GroomMachineHotfixLogRetentionDays Hotfixes, die auf die VDA- und Controller-Maschinen angewendet wurden 90 31
  7 GroomMinuteRetentionDays Aggregierte Daten – Minuten-Granularität 3 3
  8 GroomHourlyRetentionDays Aggregierte Daten – Stunden-Granularität 32 31
  9 GroomApplicationInstanceRetentionDays Anwendungsinstanzverlauf 90 Nicht zutreffend
  10 GroomNotificationLogRetentionDays Einträge im Benachrichtigungsprotokoll 90 Nicht zutreffend
  11 GroomResourceUsageRawDataRetentionDays Ressourcennutzungsdaten – Rohdaten 3 3
  12 GroomResourceUsageMinuteDataRetentionDays Zusammenfassende Daten zur Ressourcennutzung – Minutengranularität 7 7
  13 GroomResourceUsageHourDataRetentionDays Zusammenfassende Daten zur Ressourcennutzung – stündliche Granularität 30 30
  14 GroomResourceUsageDayDataRetentionDays Zusammenfassende Daten zur Ressourcennutzung – tägliche Granularität 365 31
  15 GroomProcessUsageRawDataRetentionDays Prozessnutzungsdaten – Rohdaten 1 1
  16 GroomProcessUsageMinuteDataRetentionDays Prozessauslastungsdaten – Minutengranularität 3 3
  17 GroomProcessUsageHourDataRetentionDays Prozessauslastungsdaten – Stundengranularität 7 7
  18 GroomProcessUsageDayDataRetentionDays Prozessauslastungsdaten – Tagesgranularität 30 30
  19 GroomSessionMetricsDataRetentionDays Sitzungsmetrikdaten 1 1
  20 GroomMachineMetricDataRetentionDays Maschinenmetrikdaten 3 3
  21 GroomMachineMetricDaySummaryDataRetentionDays Zusammenfassende Maschinenmetrikdaten 365 31
  22 GroomApplicationErrorsRetentionDays Anwendungsfehlerdaten 1 1
  23 GroomApplicationFaultsRetentionDays Anwendungsausfalldaten 1 1

Achtung:

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 können. Die lizenzbasierten Aufbewahrungseinstellungen sind 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 Aufbewahrungsdauer für die Bereinigung aller 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.

Die Speicherung 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 groß 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. Beispielsweise 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.

Datengranularität und -aufbewahrung