Udostępnij za pośrednictwem


Używanie usługi Log Analytics do obsługi funkcji diagnostyki w usłudze Azure Virtual Desktop (wersja klasyczna)

Ważne

Ta zawartość dotyczy usługi Azure Virtual Desktop (klasycznej), która nie obsługuje obiektów usługi Azure Resource Manager Azure Virtual Desktop. Jeśli próbujesz zarządzać obiektami usługi Azure Resource Manager Azure Virtual Desktop, zobacz ten artykuł.

Usługa Azure Virtual Desktop oferuje funkcję diagnostyki, która umożliwia administratorowi identyfikowanie problemów za pomocą jednego interfejsu. Ta funkcja rejestruje informacje diagnostyczne za każdym razem, gdy ktoś przypisany do roli usługi Azure Virtual Desktop korzysta z usługi. Każdy dziennik zawiera informacje o tym, która rola usługi Azure Virtual Desktop była zaangażowana w działanie, wszelkie komunikaty o błędach wyświetlane podczas sesji, informacje o dzierżawie i informacje o użytkowniku. Funkcja diagnostyki tworzy dzienniki aktywności zarówno dla akcji użytkownika, jak i akcji administracyjnych. Każdy dziennik aktywności znajduje się w trzech głównych kategoriach:

  • Działania subskrypcji kanału informacyjnego: gdy użytkownik próbuje nawiązać połączenie z kanałem informacyjnym za pośrednictwem aplikacji Pulpit zdalny Microsoft.
  • Działania połączenia: gdy użytkownik próbuje nawiązać połączenie z pulpitem lub usługą RemoteApp za pośrednictwem aplikacji Pulpit zdalny Microsoft.
  • Działania związane z zarządzaniem: gdy administrator wykonuje operacje zarządzania w systemie, takie jak tworzenie pul hostów, przypisywanie użytkowników do grup aplikacji i tworzenie przypisań ról.

Połączenia, które nie docierają do usługi Azure Virtual Desktop, nie będą wyświetlane w wynikach diagnostycznych, ponieważ sama usługa roli diagnostyki jest częścią usługi Azure Virtual Desktop. Problemy z połączeniem usługi Azure Virtual Desktop mogą wystąpić, gdy użytkownik ma problemy z łącznością sieciową.

Dlaczego należy używać usługi Log Analytics

Zalecamy użycie usługi Log Analytics do analizowania danych diagnostycznych w kliencie platformy Azure, który wykracza poza rozwiązywanie problemów z jednym użytkownikiem. Ponieważ możesz ściągnąć liczniki wydajności maszyny wirtualnej do usługi Log Analytics, masz jedno narzędzie do zbierania informacji dotyczących wdrożenia.

Przed rozpoczęciem

Zanim będzie można użyć usługi Log Analytics z funkcją diagnostyki, musisz utworzyć obszar roboczy.

Po utworzeniu obszaru roboczego postępuj zgodnie z instrukcjami w temacie Łączenie komputerów z systemem Windows z usługą Azure Monitor , aby uzyskać następujące informacje:

  • Identyfikator obszaru roboczego
  • Klucz podstawowy obszaru roboczego

Te informacje będą potrzebne w dalszej części procesu instalacji.

Wypychanie danych diagnostycznych do obszaru roboczego

Dane diagnostyczne można wypychać z dzierżawy usługi Azure Virtual Desktop do usługi Log Analytics dla obszaru roboczego. Tę funkcję można skonfigurować od razu po utworzeniu dzierżawy przez połączenie obszaru roboczego z dzierżawą lub skonfigurowanie jej później przy użyciu istniejącej dzierżawy.

Aby połączyć dzierżawę z obszarem roboczym usługi Log Analytics podczas konfigurowania nowej dzierżawy, uruchom następujące polecenie cmdlet, aby zalogować się do usługi Azure Virtual Desktop przy użyciu konta użytkownika TenantCreator:

Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com

Jeśli połączysz istniejącą dzierżawę zamiast nowej dzierżawy, uruchom następujące polecenie cmdlet:

Set-RdsTenant -Name <TenantName> -AzureSubscriptionId <SubscriptionID> -LogAnalyticsWorkspaceId <String> -LogAnalyticsPrimaryKey <String>

Musisz uruchomić te polecenia cmdlet dla każdej dzierżawy, którą chcesz połączyć z usługą Log Analytics.

Uwaga

Jeśli nie chcesz łączyć obszaru roboczego usługi Log Analytics podczas tworzenia dzierżawy, uruchom polecenie New-RdsTenant cmdlet .

Cykl wysyłania zdarzeń diagnostycznych

Zdarzenia diagnostyczne są wysyłane do usługi Log Analytics po zakończeniu.

Przykładowe zapytania

Poniższe przykładowe zapytania pokazują, jak funkcja diagnostyki generuje raport dla najczęstszych działań w systemie:

W tym pierwszym przykładzie przedstawiono działania połączenia inicjowane przez użytkowników z obsługiwanymi klientami pulpitu zdalnego:

WVDActivityV1_CL
| where Type_s == "Connection"
| join kind=leftouter (
    WVDErrorV1_CL
    | summarize Errors = makelist(pack('Time', Time_t, 'Code', ErrorCode_s , 'CodeSymbolic', ErrorCodeSymbolic_s, 'Message', ErrorMessage_s, 'ReportedBy', ReportedBy_s , 'Internal', ErrorInternal_s )) by ActivityId_g
    ) on $left.Id_g  == $right.ActivityId_g 
| join  kind=leftouter (
    WVDCheckpointV1_CL
    | summarize Checkpoints = makelist(pack('Time', Time_t, 'ReportedBy', ReportedBy_s, 'Name', Name_s, 'Parameters', Parameters_s) ) by ActivityId_g
    ) on $left.Id_g  == $right.ActivityId_g
|project-away ActivityId_g, ActivityId_g1

To następne przykładowe zapytanie pokazuje działania związane z zarządzaniem przez administratorów w dzierżawach:

WVDActivityV1_CL
| where Type_s == "Management"
| join kind=leftouter (
    WVDErrorV1_CL
    | summarize Errors = makelist(pack('Time', Time_t, 'Code', ErrorCode_s , 'CodeSymbolic', ErrorCodeSymbolic_s, 'Message', ErrorMessage_s, 'ReportedBy', ReportedBy_s , 'Internal', ErrorInternal_s )) by ActivityId_g
    ) on $left.Id_g  == $right.ActivityId_g 
| join  kind=leftouter (
    WVDCheckpointV1_CL
    | summarize Checkpoints = makelist(pack('Time', Time_t, 'ReportedBy', ReportedBy_s, 'Name', Name_s, 'Parameters', Parameters_s) ) by ActivityId_g
    ) on $left.Id_g  == $right.ActivityId_g
|project-away ActivityId_g, ActivityId_g1

Zatrzymywanie wysyłania danych do usługi Log Analytics

Aby zatrzymać wysyłanie danych z istniejącej dzierżawy do usługi Log Analytics, uruchom następujące polecenie cmdlet i ustaw puste ciągi:

Set-RdsTenant -Name <TenantName> -AzureSubscriptionId <SubscriptionID> -LogAnalyticsWorkspaceId <String> -LogAnalyticsPrimaryKey <String>

Musisz uruchomić to polecenie cmdlet dla każdej dzierżawy, z której chcesz przestać wysyłać dane.

Następne kroki

Aby przejrzeć typowe scenariusze błędów, które funkcja diagnostyki może zidentyfikować, zobacz Identyfikowanie i diagnozowanie problemów.