XenApp and XenDesktop

Datengranularität und -aufbewahrung

Aggregation von Datenwerten

Der Monitor Service erfasst eine Vielzahl von Daten, darunter die Nutzung von Benutzersitzungen, Details zur Benutzeranmeldeleistung, 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 Method APIs dargestellt 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 Maximalwerte ü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 überschneiden, um als gleichzeitig zu gelten. Wenn das Zeitintervall jedoch 1 Minute beträgt, gelten alle Sitzungen in dieser Minute (unabhängig davon, ob sie sich überschneiden oder nicht) als gleichzeitig: 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- und Rohdaten

Das Datenmodell stellt Metriken auf zwei verschiedene Arten dar:

  • Die Übersichts-Tabellen 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, die Anforderungen historischer Trends über lange Zeiträume zu erfüllen. 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. Bei der Betrachtung von Aggregationen eines Tages (Intervall=1440) bedeutet dies, dass der erste und der jüngste unvollständige Tag keine Daten enthalten. Obwohl Rohdaten für diese Teilintervalle existieren können, werden sie niemals zusammengefasst. Sie können das früheste und späteste Aggregatintervall für eine bestimmte Datengranularität bestimmen, indem Sie das minimale und maximale 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 wie oben beschrieben für vollständige Intervalle in der Übersichtstabelle aggregiert. Sie können für historische Trends verwendet werden, aber Rohereignisse können 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 Teilintervalle geben wird, die auftreten können, oder für den Anfang und das Ende des Zeitraums.
  • 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 Monitor Service 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-HA kann es Lücken in den Übersichtsdaten 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 Roh-Tabellen bereinigt wurden. Die Aufbewahrungsfristen können auch für verschiedene Granularitäten von Übersichtsdaten variieren. Daten mit geringerer Granularität (Minuten) werden schneller bereinigt als Daten mit höherer Granularität (Tagen). 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. 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 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, 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. Dies gewährleistet eine bessere Leistung bei gleichzeitiger Beibehaltung der für die Berichterstattung erforderlichen Granularität. Kunden mit Platinum-lizenzierten Sites können die Bereinigungsaufbewahrung auf die gewünschte Anzahl von Aufbewahrungstagen ändern, andernfalls wird der Standardwert verwendet.

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-->

Die folgenden Einstellungen werden zur Steuerung der Bereinigung verwendet:

Einstellungsname Betroffene Bereinigung Standardwert Platinum (Tage) Standardwert Nicht-Platinum (Tage)
  1 GroomSessionsRetentionDays Aufbewahrung von Sitzungs- und Verbindungsdatensätzen nach Beendigung der Sitzung 90 7
  2 GroomFailuresRetentionDays MachineFailureLog- und ConnectionFailureLog-Datensätze 90 7
  3 GroomLoadIndexesRetentionDays LoadIndex-Datensätze 90 7
  4 GroomDeletedRetentionDays Maschinen-, Katalog-, Desktopgruppen- und Hypervisor-Entitäten, die einen LifecycleState von ‘Deleted’ haben. Dadurch werden auch alle zugehörigen Session-, SessionDetail-, Summary-, Failure- oder LoadIndex-Datensätze gelöscht. 90 7
  5 GroomSummariesRetentionDays DesktopGroupSummary-, FailureLogSummary- und LoadIndexSummary-Datensätze. Aggregierte Daten – tägliche Granularität. 90 7
  6 GroomMachineHotfixLogRetentionDays Hotfixes, die auf die VDA- und Controller-Maschinen angewendet wurden 90 90
  7 GroomMinuteRetentionDays Aggregierte Daten – Minuten-Granularität 3 3
  8 GroomHourlyRetentionDays Aggregierte Daten – Stunden-Granularität 32 7
  9 GroomApplicationInstanceRetentionDays Verlauf der Anwendungsinstanz 90 0
  10 GroomNotificationLogRetentionDays Benachrichtigungsprotokolleinträge 90  
  11 GroomResourceUsageRawDataRetentionDays Ressourcennutzungsdaten – Rohdaten 1 1
  12 GroomResourceUsageMinuteDataRetentionDays Zusammenfassende Ressourcennutzungsdaten – Minutengranularität 7 7
  13 GroomResourceUsageHourDataRetentionDays Zusammenfassende Daten zur Ressourcennutzung – stündliche Granularität 30 7
  14 GroomResourceUsageDayDataRetentionDays Zusammenfassende Daten zur Ressourcennutzung – tägliche Granularität 90 7
  15 GroomProcessUsageRawDataRetentionDays Prozessnutzungsdaten – Rohdaten 1 1
  16 GroomProcessUsageMinuteDataRetentionDays Prozessauslastungsdaten – Minuten-Granularität 3 3
  17 GroomProcessUsageHourDataRetentionDays Prozessauslastungsdaten – Stunden-Granularität 7 7
  18 GroomProcessUsageDayDataRetentionDays Prozessauslastungsdaten – Tages-Granularität 30 7
  19 GroomSessionMetricsDataRetentionDays Sitzungsmetrikdaten 1 1
  20 GroomMachineMetricDataRetentionDays Maschinenmetrikdaten 3 3
  21 GroomMachineMetricDaySummaryDataRetentionDays Zusammenfassende Maschinenmetrikdaten 90 7
  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.

Hinweise zur Bereinigungsaufbewahrung: 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. Darüber hinaus gelten die folgenden lizenzbasierten Aufbewahrungseinstellungen:

  • Sites mit Premium-Lizenz – Sie können die oben genannten Einstellungen für die Bereinigungsaufbewahrung auf eine beliebige Anzahl von Tagen aktualisieren.
  • 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 lang in der Datenbank verbleiben dürfen, könnte eine Site mit 1000 Bereitstellungsgruppen die Datenbank wie folgt anwachsen lassen:

    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. Dies sind die 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 sehr schnell an. Beispielsweise 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.

Datengranularität und -aufbewahrung