Freigeben über


Überwachen von Autoskalierungsvorgängen mit Insights in Azure Virtual Desktop

Mit der Autoskalierung können Sie Ihre Sitzungshost-VMs in einem Hostpool gemäß einem Zeitplan hoch- bzw. herunterskalieren, um die Bereitstellungskosten zu optimieren. Diagnosedaten für die Autoskalierung, die in Insights in Azure Virtual Desktop integriert sind, ermöglichen es Ihnen, Skalierungsvorgänge zu überwachen, Probleme zu identifizieren, die behoben werden müssen, und Möglichkeiten zu erkennen, die Konfiguration Ihres Skalierungsplans zu optimieren, um Kosten zu sparen.

Weitere Informationen zur Autoskalierung finden Sie unter Skalierungspläne für die Autoskalierung und Beispielszenarien, und für Insights in Azure Virtual Desktop unter Aktivieren von Insights zur Überwachung von Azure Virtual Desktop.

Hinweis

Sie können Autoskalierungsvorgänge mit Insights nur mit gepoolten Hostpools überwachen. Für persönliche Hostpools können Sie Diagnoseprotokolle für die Autoskalierung an ein Speicherkonto oder einen Event Hub senden. Weitere Informationen finden Sie unter Einrichten der Diagnose für die Autoskalierung in Azure Virtual Desktop.

Voraussetzungen

Bevor Sie Autoskalierungsvorgänge mit Insights überwachen können, benötigen Sie Folgendes:

  • Einen gepoolten Hostpool mit zugewiesenem Skalierungsplan. Persönliche Hostpools werden nicht unterstützt.

  • Insights, die für Ihren Hostpool und den zugehörigen Arbeitsbereich konfiguriert sind. Informationen zum Konfigurieren von Insights finden Sie unter Aktivieren von Insights zur Überwachung von Azure Virtual Desktop.

  • Ein Azure-Konto, dem je nach Ihrem Szenario die folgenden RBAC (rollenbasierte Zugriffssteuerung)-Rollen zugewiesen sind:

    Szenario RBAC-Rollen Bereich
    Konfigurieren von Diagnoseeinstellungen Desktopvirtualisierungsmitwirkender Zugewiesen für die Ressourcengruppe oder das Abonnement für Ihre Hostpools, Arbeitsbereiche und Sitzungshosts.
    Anzeigen und Abfragen von Daten Desktopvirtualisierungsleser

    Log Analytics-Leser
    – Desktop-Virtualisierungsleser, welcher der Ressourcengruppe oder dem Abonnement zugewiesen ist, in der sich die Hostpools, Arbeitsbereiche und Sitzungshosts befinden.

    – Log Analytics-Leser, der jedem Log Analytics-Arbeitsbereich zugewiesen ist, der für Azure Virtual Desktop Insights verwendet wird.1

    1. Sie können auch eine benutzerdefinierte Rolle erstellen, um den Umfang der Zuweisung im Log Analytics-Arbeitsbereich zu verringern. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf Log Analytics-Arbeitsbereiche.

Konfigurieren von Diagnoseeinstellungen und Überprüfen der Konfiguration der Insights-Arbeitsmappe

Zunächst müssen Sie sicherstellen, dass Diagnoseeinstellungen so konfiguriert sind, dass die erforderlichen Protokolle aus Ihrem Hostpool und Arbeitsbereich an Ihren Log Analytics-Arbeitsbereich gesendet werden.

Aktivieren von Autoskalierungsprotokollen für einen Hostpool

Zusätzlich zu vorhandenen Hostpoolprotokollen, die Sie bereits an einen Log Analytics-Arbeitsbereich senden, müssen Sie auch Autoskalierungsprotokolle für einen Hostpool senden:

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie in der Suchleiste Azure Virtual Desktop ein, und wählen Sie den entsprechenden Diensteintrag aus.

  3. Wählen Sie auf der Übersicht von Azure Virtual Desktop die Option Hostpools und dann den gepoolten Hostpool aus, für den Sie Autoskalierungsprotokolle aktivieren möchten.

  4. Wählen Sie auf der Übersicht des Hostpools die Option Diagnoseeinstellungen aus.

  5. Wählen Sie Diagnoseeinstellung hinzufügen aus, oder wählen Sie eine vorhandene Diagnoseeinstellung zur Bearbeitung aus.

  6. Wählen Sie die folgenden Kategorien als Minimum aus. Wenn Sie bereits einige dieser Kategorien für diesen Hostpool als Teil dieser Diagnoseeinstellung oder einer vorhandenen Einstellung ausgewählt haben, wählen Sie diese nicht erneut aus, andernfalls wird beim Speichern der Diagnoseeinstellung eine Fehlermeldung angezeigt.

    • Prüfpunkt
    • Fehler
    • Verwaltung
    • Verbindung
    • HostRegistration
    • AgentHealthStatus
    • Autoskalierungsprotokolle für gepoolte Hostpools
  7. Wählen Sie für Zieldetails die Option An Log Analytics-Arbeitsbereich senden aus.

  8. Wählen Sie Speichern.

Überprüfen von Arbeitsbereichsprotokollen

Stellen Sie sicher, dass Sie die erforderlichen Protokolle für einen Arbeitsbereich bereits an einen Log Analytics-Arbeitsbereich senden:

  1. Wählen Sie auf der Übersicht von Azure Virtual Desktop die Option Arbeitsbereiche und dann den zugehörigen Arbeitsbereich für den Hostpool aus, den Sie überwachen.

  2. Wählen Sie auf der Übersicht des Arbeitsbereichs die Option Diagnoseeinstellungen aus.

  3. Wählen Sie Einstellung bearbeiten aus.

  4. Stellen Sie sicher, dass die folgenden Kategorien aktiviert sind.

    • Prüfpunkt
    • Fehler
    • Verwaltung
    • Feed
  5. Stellen Sie für Zieldetails sicher, dass Sie Daten an denselben Log Analytics-Arbeitsbereich senden wie der Hostpool.

  6. Wählen Sie Speichern aus, um Ihre Änderungen zu speichern.

Überprüfen der Konfiguration der Insights-Arbeitsmappe

Sie müssen überprüfen, ob Ihre Insights-Arbeitsmappe für Ihren Hostpool ordnungsgemäß konfiguriert ist:

  1. Wählen Sie auf der Übersicht von Azure Virtual Desktop die Option Hostpools und dann den gepoolten Hostpool aus, den Sie überwachen.

  2. Wählen Sie auf der Übersicht des Hostpools die Option Insights aus, wenn Sie den Azure Monitor-Agent auf Ihren Sitzungshosts verwenden, oder Insights (Legacy), wenn Sie den Log Analytics-Agent auf Ihren Sitzungshosts verwenden.

  3. Stellen Sie sicher, dass es keine ausstehenden Konfigurationsprobleme gibt. Wenn solche vorhanden sind, werden Meldungen angezeigt wie z. B.:

    • Azure Monitor ist für Sitzungshosts nicht konfiguriert.
    • Azure Monitor ist für den ausgewählten AVD-Hostpool nicht konfiguriert.
    • Es gibt Sitzungshosts, die keine Daten an den erwarteten Log Analytics-Arbeitsbereich senden.

    Sie müssen die Konfiguration in der entsprechenden Arbeitsmappe vervollständigen, um diese Probleme zu beheben. Weitere Informationen finden Sie unter Aktivieren von Insights zur Überwachung von Azure Virtual Desktop. Wenn keine Konfigurationsprobleme vorhanden sind, sollte Insights ähnlich wie in der folgenden Abbildung aussehen:

    Ein Screenshot zeigt die Übersicht von Insights für einen Hostpool.

Anzeigen von Autoskalierungserkenntnissen

Nachdem Sie Ihre Diagnoseeinstellungen konfiguriert und die Konfiguration Ihrer Insights-Arbeitsmappe überprüft haben, können Sie Autoskalierungserkenntnisse anzeigen:

  1. Wählen Sie auf der Übersicht von Azure Virtual Desktop die Option Hostpools aus, und wählen Sie dann den gepoolten Hostpool aus, für den Sie Autoskalierungserkenntnisse anzeigen möchten.

  2. Wählen Sie auf der Übersicht des Hostpools die Option Insights aus, wenn Sie den Azure Monitor-Agent auf Ihren Sitzungshosts verwenden, oder Insights (Legacy), wenn Sie den Log Analytics-Agent auf Ihren Sitzungshosts verwenden.

  3. Wählen Sie Autoskalierung aus der Reihe der Registerkarten aus. Je nach Breite Ihrer Anzeige müssen Sie möglicherweise die Auslassungspunkte ... auswählen, um die vollständige Liste mit Autoskalierung anzuzeigen.

    Ein Screenshot zeigt die Registerkarte „Übersicht“ von Insights für einen Hostpool mit den Auslassungspunkten ausgewählt, um die vollständige Liste mit Autoskalierung anzuzeigen.

  4. Insights zeigt Informationen zu den Autoskalierungsvorgängen für Ihren Hostpool, z. B. ein Diagramm der Änderung des Energiezustands Ihrer Sitzungshosts im Hostpool im Laufe der Zeit, sowie zusammenfassende Informationen.

    Ein Screenshot zeigt die Registerkarte „Autoskalierung“ von Insights für einen Hostpool.

Abfragen für Autoskalierungsdaten in Log Analytics

Für weitere Informationen zu Autoskalierungsvorgängen können Sie „Abfragen ausführen“ auf den Daten in Log Analytics verwenden. Die Daten werden in die WVDAutoscaleEvaluationPooled-Tabelle geschrieben. Die folgenden Abschnitte enthalten das Schema und einige Beispielabfragen. Informationen zum Ausführen von Abfragen in Log Analytics finden Sie im Log Analytics-Tutorial.

WVDAutoscaleEvaluationPooled-Schema

Die folgende Tabelle detailliert das Schema für die WVDAutoscaleEvaluationPooled-Tabelle, welche die Ergebnisse einer Auswertung eines Skalierungsplans für die Autoskalierung für einen Hostpool enthält. Die Informationen umfassen die Aktionen, welche die Autoskalierung auf den Sitzungshosts ausgeführt hat, z. B. das Starten oder Freigeben von Hosts, und warum diese Aktionen ausgeführt wurden. Die Einträge, die mit Config beginnen, enthalten die Konfigurationswerte des Skalierungsplans für eine Planungsphase der Autoskalierung. Wenn der ResultType-Wert fehlgeschlagen lautet, erstellen Sie eine Verknüpfung mit der WVDErrors-Tabelle mithilfe der CorrelationId, um weitere Details zu erhalten.

Name Typ Beschreibung
ActiveSessionHostCount Int Anzahl der Sitzungshosts, die Benutzerverbindungen akzeptieren.
ActiveSessionHostsPercent Double Prozentsatz der Sitzungshosts im Hostpool, der von der Autoskalierung als aktiv betrachtet wird.
ConfigCapacityThresholdPercent Double Kapazitätsschwellenwert in Prozent.
ConfigMinActiveSessionHostsPercent Double Mindestprozentsatz der Sitzungshosts, die aktiv sein sollen.
ConfigScheduleName String Name des in der Auswertung verwendeten Zeitplans.
ConfigSchedulePhase String Zeitplanphase zum Zeitpunkt der Auswertung.
CorrelationId String Eine für diese Autoskalierungsauswertung generierte GUID.
ExcludedSessionHostCount Int Die Anzahl der von der Autoskalierungsverwaltung ausgeschlossenen Sitzungshosts.
MaxSessionLimitPerSessionHost Int Der im Hostpool definierte MaxSessionLimit-Wert. Dieser Wert ist die maximale Anzahl der pro Sitzungshost zulässigen Benutzersitzungen.
Properties Dynamisch Zusätzliche Informationen:
ResultType String Status dieses Auswertungsereignisses.
ScalingEvaluationStartTime DateTime Der Zeitstempel (UTC), wann die Autoskalierungsauswertung gestartet wurde.
ScalingPlanResourceId String Die Ressourcen-ID des Skalierungsplans für die Autoskalierung.
ScalingReasonMessage String Die von der Autoskalierung beschlossenen Aktionen und die Gründe für die Durchführung dieser Maßnahmen.
SessionCount Int Anzahl der Benutzersitzungen. Nur die Benutzersitzungen von Sitzungshosts, die von Autoskalierung als aktiv betrachtet werden, sind enthalten.
SessionOccupancyPercent Double Prozentsatz der Kapazität des Sitzungshosts, die von Benutzersitzungen belegt wird.
TimeGenerated DateTime Der Zeitstempel (UTC), wann dieses Ereignis generiert wurde.
TotalSessionHostCount Int Die Anzahl der Sitzungshosts im Hostpool.
UnhealthySessionHostCount Int Die Anzahl der Sitzungshosts in einem fehlerhaften Zustand.

Beispiel für Daten

Die folgende Abfrage gibt die 10 aktuellsten Datenzeilen für die Autoskalierung zurück:

WVDAutoscaleEvaluationPooled
| take 10

Fehlgeschlagene Auswertungen mit WVDErrors

Die folgende Abfrage korreliert die Tabellen WVDAutoscaleEvaluationPooled und WVDErrors und gibt Einträge zurück, in denen die ServiceError-Spalte in WVDErrors FALSCH ist:

Die folgende Abfrage gibt Auswertungen der Autoskalierung zurück, die fehlgeschlagen sind, einschließlich derjenigen, die teilweise fehlgeschlagen sind. Die Abfrage wird auch mit WVDErrors verknüpft, um weitere Fehlerdetails bereitzustellen, sofern verfügbar. Die entsprechenden Einträge in WVDErrors enthalten nur Ergebnisse, bei denen ServiceError FALSCH ist:

WVDAutoscaleEvaluationPooled
| where ResultType != "Succeeded"
| join kind=leftouter WVDErrors
    on CorrelationId
| order by _ResourceId asc, TimeGenerated asc, CorrelationId, TimeGenerated1 asc

Starten, Freigeben und Erzwingen von Abmeldevorgängen

Die folgende Abfrage gibt die Anzahl der versuchten Vorgänge für das Starten des Sitzungshosts, das Freigeben des Sitzungshosts und die Erzwingung der Abmeldung von Benutzersitzungen pro Hostpool, Zeitplanname, Zeitplanphase und Tag zurück:

WVDAutoscaleEvaluationPooled
| where ResultType == "Succeeded"
| extend properties = parse_json(Properties)
| extend BeganStartVmCount = toint(properties.BeganStartVmCount)
| extend BeganDeallocateVmCount = toint(properties.BeganDeallocateVmCount)
| extend BeganForceLogoffOnSessionHostCount = toint(properties.BeganForceLogoffOnSessionHostCount)
| summarize sum(BeganStartVmCount), sum(BeganDeallocateVmCount), sum(BeganForceLogoffOnSessionHostCount) by _ResourceId, bin(TimeGenerated, 1d), ConfigScheduleName, ConfigSchedulePhase
| order by _ResourceId asc, TimeGenerated asc, ConfigScheduleName, ConfigSchedulePhase asc

Maximale Sitzungsbelegung und aktive Sitzungshosts

Die folgende Abfrage gibt die maximale Sitzungsbelegung in Prozent, die Anzahl der Sitzungen, die aktiven Sitzungshosts in Prozent und die Anzahl der aktiven Sitzungshosts pro Hostpool, Zeitplanname, Zeitplanphase und Tag zurück:

WVDAutoscaleEvaluationPooled
| where ResultType == "Succeeded"
| summarize max(SessionOccupancyPercent), max(SessionCount), max(ActiveSessionHostsPercent), max(ActiveSessionHostCount) by _ResourceId, bin(TimeGenerated, 1d), ConfigScheduleName, ConfigSchedulePhase
| order by _ResourceId asc, TimeGenerated asc, ConfigScheduleName, ConfigSchedulePhase asc

Weitere Informationen zum Zeitpunkt, an dem Protokolldaten nach der Sammlung verfügbar werden, finden Sie unter Protokolldatenerfassungszeit in Azure Monitor.