Utiliser Log Analytics pour la fonctionnalité de diagnostic dans Azure Virtual Desktop (classique)

Important

Ce contenu s’applique à Azure Virtual Desktop (classique), qui ne prend pas en charge les objets Azure Virtual Desktop pour Azure Resource Manager. Si vous essayez de gérer des objets Azure Virtual Desktop pour Azure Resource Manager, consultez cet article.

Azure Virtual Desktop offre une fonctionnalité de diagnostic qui permet à l’administrateur d’identifier les problèmes via une seule interface. Cette fonctionnalité consigne les informations de diagnostic chaque fois qu’une personne à qui un rôle Azure Virtual Desktop a été attribué utilise le service. Chaque journal contient des informations sur le rôle Azure Virtual Desktop impliqué dans l’activité, les éventuels messages d’erreur qui apparaissent pendant la session, les informations sur le locataire et les informations sur l’utilisateur. La fonctionnalité de diagnostic crée des journaux d'activité pour les actions des utilisateurs et des administrateurs. Chaque journal d'activités se divise en trois grandes catégories :

  • Activités d’ajout de flux : lorsqu’un utilisateur essaie de se connecter à son flux via des applications Bureau à distance Microsoft.
  • Activités de connexion : lorsqu’un utilisateur essaie de se connecter à un ordinateur de bureau ou à RemoteApp via des applications Bureau à distance Microsoft.
  • Activités de gestion : lorsqu’un administrateur effectue des opérations de gestion sur le système, notamment la création de pools d’hôtes, l’attribution d’utilisateurs à des groupes d’applications et la création d’attributions de rôles.

Les connexions qui n’atteignent pas Azure Virtual Desktop ne figureront pas dans les résultats de diagnostic, car le service de rôle de diagnostics fait partie d’Azure Virtual Desktop. Des problèmes de connexion à Azure Virtual Desktop peuvent survenir lorsque l’utilisateur rencontre des problèmes de connectivité au réseau.

Pourquoi vous devriez utiliser Log Analytics

Nous vous recommandons d'utiliser Log Analytics pour analyser les données de diagnostic dans le client Azure qui vont au-delà du dépannage par un utilisateur unique. Étant donné que vous pouvez extraire des compteurs de performances des machines virtuelles dans Log Analytics, vous disposez d'un outil unique pour recueillir des informations en vue de votre déploiement.

Avant de commencer

Avant de pouvoir utiliser Log Analytics avec la fonctionnalité de diagnostic, vous devrez créer un espace de travail.

Après avoir créé votre espace de travail, suivez les instructions de la section Connecter des ordinateurs Windows à Azure Monitor pour obtenir les informations suivantes :

  • L’ID de l’espace de travail
  • La clé primaire de votre espace de travail

Ces informations vous seront nécessaires plus loin dans le processus de configuration.

Envoyer (push) les données de diagnostic à votre espace de travail

Vous pouvez envoyer (push) les données de diagnostic de votre locataire Azure Virtual Desktop à votre espace de travail Log Analytics. Vous pouvez configurer cette fonctionnalité dès la création de votre locataire en liant votre espace de travail à votre locataire, ou vous pouvez la configurer plus tard avec un locataire existant.

Pour lier votre locataire à votre espace de travail Log Analytics pendant que vous configurez votre nouveau locataire, exécutez la cmdlet suivante pour vous connecter à Azure Virtual Desktop avec votre compte d’utilisateur TenantCreator :

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

Si vous voulez lier un locataire existant plutôt qu'un nouveau locataire, exécutez cette applet de commande :

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

Vous aurez besoin d'exécuter ces applets de commande pour chaque locataire que vous voulez lier à Log Analytics.

Notes

Si vous ne voulez pas lier l'espace de travail Log Analytics lorsque vous créez un locataire, exécutez plutôt l’applet de commande New-RdsTenant.

Cadence d’envoi des événements de diagnostic

Les événements de diagnostic sont envoyés à Log Analytics lorsqu’ils sont terminés.

Exemples de requêtes

Les exemples de requêtes suivants montrent comment la fonctionnalité de diagnostic génère un rapport pour les activités les plus fréquentes dans votre système :

Ce premier exemple montre les activités de connexion initiées par des utilisateurs disposant de clients Bureau à distance pris en charge :

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

L'exemple de requête suivant montre les activités de gestion par les administrateurs sur les locataires :

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

Arrêter d'envoyer des données à Log Analytics

Pour arrêter l'envoi des données d'un locataire existant à Log Analytics, exécutez l’applet de commande suivante et définissez des chaînes vides :

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

Vous devrez exécuter cette applet de commande pour chaque locataire pour lequel vous voulez arrêter l’envoi des données.

Étapes suivantes

Pour examiner les scénarios d’erreur courants que la fonctionnalité de diagnostic peut identifier pour vous, consulter Identifier et diagnostiquer les problèmes.