Udostępnij za pośrednictwem


Korzystanie z usługi Log Analytics na potrzeby 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 usługi Azure Virtual Desktop. Jeśli próbujesz zarządzać obiektami usługi Azure Resource Manager usługi 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ś ma przypisaną rolę usługi Azure Virtual Desktop. 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 należy do trzech głównych kategorii:

  • 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 diagnostyki, 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

Aby móc korzystać z 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

Możesz wypchnąć dane diagnostyczne 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 zamierzasz połączyć istniejącą dzierżawę zamiast nowej dzierżawy, uruchom następujące polecenie cmdlet:

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

Należy 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 zamiast tego New-RdsTenant polecenie 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łączeń 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 przedstawia 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>

To polecenie cmdlet należy uruchomić 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.