Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique les causes possibles et les étapes de résolution des problèmes d’échec d’artefact sur vos machines virtuelles Azure DevTest Labs.
Les artefacts sont des outils, des actions ou des logiciels que vous pouvez installer sur des machines virtuelles lab pendant ou après la création de la machine virtuelle. Les propriétaires de labo peuvent présélectionner des artefacts obligatoires à appliquer à toutes les VMs de labo lors de leur création, et les utilisateurs de labo peuvent appliquer des artefacts à des VMs qu’ils possèdent. Plusieurs problèmes peuvent entraîner l’échec de l’installation et de l’application d’artefacts à un labo, ou empêcher leur exécution correcte sur une machine virtuelle de labo.
Lorsqu’un artefact semble cesser de répondre, la première étape consiste à essayer de déterminer pourquoi le processus est bloqué. L’installation d’un artefact peut être bloquée lors de la requête initiale, ou échouer pendant l’exécution de celle-ci. Vous pouvez résoudre les problèmes liés aux échecs d’artefacts à partir du Portail Microsoft Azure ou de la machine virtuelle où l’échec d’artefact se produit.
Résoudre les problèmes dans le Portail Microsoft Azure
Si un artefact ne s’applique pas correctement à votre machine virtuelle de laboratoire, vous pouvez commencer par examiner l’état de votre machine virtuelle dans le Portail Microsoft Azure. Vous trouverez des informations sur l’état de la machine virtuelle, vérifiez qu’elle est en cours d’exécution et vérifiez que les artefacts peuvent être appliqués. Les données du journal d’activité de la machine virtuelle de labo comportent des entrées relatives au processus d’installation. Vous pouvez vérifier les entrées pour obtenir des informations sur les échecs d’artefacts.
Vérifier l’état de la machine virtuelle
Vérifiez l’état de la machine virtuelle dans le portail Azure en procédant comme suit :
Accédez à la page Vue d’ensemble de la machine virtuelle du labo DevTest Labs et vérifiez que l’état de la machine est en cours d’exécution :
Sélectionnez Artefacts pour ouvrir la liste des artefacts pour la machine virtuelle lab :
Cochez l’option Appliquer les artefacts et vérifiez que la machine virtuelle lab est prête à accepter les artefacts appliqués :
Lorsque l’option Appliquer des artefacts apparaît grisée, vous ne pouvez pas appliquer d’artefacts à la machine virtuelle lab, et un message de notification s’affiche sur la page :
Utiliser une commande PowerShell
Vous pouvez également utiliser Azure PowerShell pour vérifier la possibilité que votre VM de labo puisse recevoir des artefacts en cours d'application.
La commande GET suivante retourne l’indicateur canApplyArtifacts avec la valeur True ou False. Pour exécuter la commande, remplacez le $SubscriptionId paramètre par votre ID d’abonnement, le paramètre par le $LabName/$VmName nom de votre labo et le nom de la machine virtuelle, ainsi que le paramètre par le $LabRgName nom de votre groupe de ressources lab.
Select-AzSubscription -SubscriptionId $SubscriptionId | Out-Null
$vm = Get-AzResource `
-Name "$LabName/$VmName" `
-ResourceGroupName $LabRgName `
-ResourceType 'microsoft.devtestlab/labs/virtualmachines' `
-ApiVersion '2018-10-15-preview' `
-ODataQuery '$expand=Properties($expand=ComputeVm)'
$vm.Properties.canApplyArtifacts
Examiner les détails relatifs aux artefacts en échec
Un artefact peut cesser de répondre et finir par basculer à l’état Échec dans la liste des artefacts de la machine virtuelle de labo.
Examinez les artefacts défaillants en complétant les étapes suivantes :
Accédez à la page de liste Artefacts de la machine virtuelle lab, puis sélectionnez l’artefact avec l’état Échec :
La vue de détails Artefact s’ouvre. Les détails incluent des informations sur le Message de déploiement et le Message d’extension concernant l’échec de l’artefact :
Inspecter les journaux d’activité
Pour installer des artefacts, DevTest Labs crée et déploie un modèle Azure Resource Manager (ARM) qui demande l’utilisation de l’extension de script personnalisé (CSE). Une erreur à ce niveau apparaît dans les journaux d’activité pour l’abonnement et pour le groupe de ressources qui contient la machine virtuelle de laboratoire.
Note
Lors de l’affichage des journaux d’activité, vous devrez peut-être développer les entrées du processus d’installation pour afficher les résumés des erreurs d’échec.
Inspectez les entrées du journal d’activité pour les échecs liés à l’installation ou à l’application de l’artefact sur la machine virtuelle lab en effectuant les étapes suivantes :
Accédez à la page journal d’activité de la machine virtuelle lab et recherchez l’artefact avec l’état Échec :
Sélectionnez l’entrée pour ouvrir le volet d’informations et afficher les informations du journal :
Si vous essayez d’appliquer l’artefact directement à votre machine virtuelle lab, recherchez les erreurs d’échec liées au processus d’installation de l’extension Créer ou mettre à jour une machine virtuelle .
Si vous créez une machine virtuelle et appliquez l’artefact pendant le processus, recherchez les erreurs d’échec signalées pour le processus d’installation Créer ou mettre à jour une machine virtuelle.
Le titre du volet correspond au titre de l’entrée, par exemple , Appliquer des artefacts à la machine virtuelle :
Dans la page de détails, sélectionnez JSON pour examiner le contenu de la charge utile JSON. Vous pouvez voir l’erreur à la fin du document JSON :
Enquêter sur le référentiel d'artefacts et le compte de stockage de laboratoire
Quand DevTest Labs applique un artefact, il lit la configuration et les fichiers de celui-ci à partir des référentiels connectés. Si l’installation d’un artefact ou son application à votre machine virtuelle de labo échoue, le problème peut être lié à l’accès au référentiel.
Par défaut, DevTest Labs a accès au référentiel d’artefacts publicsde DevTest Labs. Vous pouvez également connecter un labo à un référentiel privé pour accéder à des artefacts personnalisés. Selon la configuration, les VMs de laboratoire peuvent ne pas avoir d’accès direct au référentiel d’artefacts. DevTest Labs met en cache les artefacts dans un compte de stockage lab créé lors de l’initialisation du labo.
En cas d’échec d’installation d’un artefact personnalisé, vérifiez que le jeton d’accès personnel (PAT) pour le référentiel privé n’a pas expiré. Si le jeton d’accès personnel a expiré, l’artefact n’est pas répertorié et tous les scripts faisant référence aux artefacts de ce référentiel échouent.
Si l’accès au compte de stockage est bloqué, une erreur similaire à celle-ci peut s’afficher :
CSE Error: Failed to download all specified files. Exiting. Exception: Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (403) Forbidden. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.Par exemple, vous pouvez rencontrer cette erreur lorsque le trafic est bloqué de la machine virtuelle vers le service Stockage Azure. L’erreur apparaît dans le journal d’activité du groupe de ressources de la machine virtuelle de labo.
Identifiez les problèmes de connexion de référentiel au compte stockage Azure en effectuant les étapes suivantes :
Vérifiez si des groupes de sécurité réseau ont été ajoutés. Si une stratégie d’abonnement est ajoutée pour configurer automatiquement les NSG dans tous les réseaux virtuels, cela peut affecter le réseau virtuel utilisé pour créer vos VMs de laboratoire.
Vérifiez toutes les règles NSG :
Utilisez la vérification du flux IP pour déterminer si une règle NSG bloque le trafic vers ou depuis une machine virtuelle.
Vérifiez les règles de groupe de sécurité efficaces pour vous assurer qu’une règle NSG d’Autorisation entrante existe. Pour en savoir plus, voir Utilisation de règles de sécurité effectives pour résoudre des problèmes de flux de trafic de machine virtuelle.
Vérifiez le compte de stockage par défaut de votre labo.
Le compte de stockage par défaut est le premier compte de stockage créé au moment de la création du laboratoire. Le nom commence généralement par la lettre « a » et se termine par un nombre à plusieurs chiffres :
a<labname>#.Accédez à la page Vue d’ensemble du labo DevTest Labs, puis sélectionnez Visualiseur de ressources.
Dans le diagramme, recherchez le Compte de stockage dont le nom correspond à la convention d’affectation de noms décrite,
a<labname>#.Placez le pointeur de la souris sur la ressource du compte de stockage , déplacez le pointeur vers l’icône i pour afficher le menu contextuel, puis sélectionnez Afficher :
Dans la page Vue d’ensemble du compte de stockage, développez la section Sécurité + mise en réseau dans le menu de gauche, puis sélectionnez Mise en réseau :
Sous l’onglet Pare-feu et réseaux virtuels, vérifiez la configuration de l’option Accès au réseau public :
Si activé à partir de réseaux virtuels et d’adresses IP sélectionnés est sélectionné, vérifiez que la liste des adresses IP autorisées affiche les réseaux virtuels du labo qui peuvent être utilisés pour créer des machines virtuelles de laboratoire :
Sinon, vérifiez que activé à partir de tous les réseaux est sélectionné :
Pour une résolution des problèmes en profondeur, consultez Configurer des pare-feux et des réseaux virtuels dans Stockage Azure.
Résoudre les problèmes sur la machine de labo
Vous pouvez vous connecter à la machine virtuelle de labo où l’artefact a échoué et examiner le problème.
Inspecter le fichier journal CSE
Affichez le fichier journal CSE pour une machine virtuelle Windows en effectuant les étapes suivantes :
Connectez-vous à votre machine virtuelle de labo DevTest Labs en cours d’exécution.
Dans l’Explorateur de fichiers, accédez à C :\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Status\. Exemple de <version CSE> :
1.10.12.
Ouvrez et inspectez un fichier STATUS , tel que 1.status, pour afficher l’erreur.
Pour obtenir des instructions sur la recherche des fichiers journaux sur une machine virtuelle Linux, consultez Utiliser Azure CSE version 2 avec des machines virtuelles Linux.
Vérifier l’agent de machine virtuelle Azure
Vérifiez que l’agent de machine virtuelle Azure (agent de machine virtuelle) de votre machine virtuelle lab est installé et prêt.
Lorsque votre machine virtuelle de laboratoire démarre pour la première fois ou lorsque le CSE s'installe pour la première fois pour répondre à la requête d'application d'artefacts, la machine virtuelle de laboratoire peut avoir besoin de mettre à niveau l'agent de machine virtuelle ou d'attendre que l'agent de machine virtuelle s'initialise. Il se peut que l’agent de machine virtuelle dépende de services dont l’initialisation prend beaucoup de temps.
Déterminez si l’agent de machine virtuelle provoque l’arrêt de la réponse de l’artefact en effectuant les étapes suivantes :
Connectez-vous à votre machine virtuelle de labo DevTest Labs en cours d’exécution.
Dans l’Explorateur de fichiers, accédez au dossier qui contient les fichiers journaux de votre machine virtuelle lab, par exemple , C :\WindowsAzure\logs.
Ouvrez le fichier WaAppAgent.log.
Dans le fichier journal, recherchez les entrées qui indiquent le démarrage de l’agent de machine virtuelle, la fin de l’initialisation et l’envoi de la première pulsation. Recherchez les entrées qui indiquent des horodatages autour du moment où le problème d’artefact s’est produit. L’extrait suivant montre quelques exemples d’entrées du fichier journal :
[00000006] [11/14/2019 05:52:13.44] [INFO] WindowsAzureGuestAgent starting. Version 2.7.41491.949 ... [00000006] [11/14/2019 05:52:31.77] [WARN] Waiting for OOBE to Complete ... ... [00000006] [11/14/2019 06:02:30.43] [WARN] Waiting for OOBE to Complete ... [00000006] [11/14/2019 06:02:33.43] [INFO] StateExecutor initialization completed. [00000020] [11/14/2019 06:02:33.43] [HEART] WindowsAzureGuestAgent Heartbeat.Dans cet exemple, le démarrage de l’agent de machine virtuelle a pris 10 minutes et 20 secondes. Le délai s'est produit parce que le service OOBE (out-of-box-experience) a mis beaucoup de temps à démarrer. Le long délai de démarrage de l’agent de machine virtuelle a fait que l’artefact a cessé de répondre.
Pour obtenir des informations générales sur les extensions Azure, consultez Extensions et fonctionnalités des machines virtuelles Azure. Pour obtenir d’autres idées de résolution des problèmes, consultez Vue d’ensemble de l’agent de machine virtuelle Azure.
Examiner les problèmes de script
Une autre raison pour laquelle l’installation de l’artefact peut échouer est due à la façon dont le script d’installation de l’artefact est écrit.
Voici quelques exemples de problèmes de script potentiels :
Le script a des paramètres obligatoires, mais une valeur attendue n’est pas passée pendant l’exécution du script. Ce scénario peut se produire si l’utilisateur est autorisé à laisser un paramètre attendu vide, et qu’une valeur par défaut n’est pas spécifiée dans le fichier de définition artifactfile.json. En conséquence, le script cesse de répondre, car il attend l’entrée utilisateur. Lorsque le script nécessite des valeurs de paramètres, il est recommandé de définir des valeurs par défaut et de demander à l’utilisateur d’entrer une valeur.
Le script nécessite une action utilisateur pendant l’exécution du script. Ce scénario peut se produire s’il existe un long délai dans l’exécution du script en attendant que l’utilisateur effectue une action. Il est recommandé d’écrire des scripts qui peuvent fonctionner en mode silencieux sans nécessiter d’intervention de l’utilisateur.
Déterminez si le script provoque l’arrêt de la réponse de l’artefact en effectuant les étapes suivantes :
Connectez-vous à votre machine virtuelle de labo DevTest Labs en cours d’exécution.
Ouvrez l’Explorateur de fichiers.
Accédez au dossier Téléchargements contenant le script d'installation d'artefact pour votre machine virtuelle, par exemple C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Downloads\. Exemple de <version CSE> :
1.10.12.Pour les étapes suivantes, vous pouvez utiliser le script dans ce dossier ou copier le script dans un dossier de travail sur votre machine virtuelle.
Ouvrez une fenêtre d’invite de commandes avec des privilèges d’administrateur sur votre machine virtuelle.
Exécutez le script d’installation d’artefact dans la fenêtre d’invite de commandes.
Suivez les invites du script et entrez les valeurs de paramètres requises. Pour déterminer si l’absence d’entrée utilisateur ou le retard d’action utilisateur provoque un problème, essayez de reproduire le comportement spécifique.
Déterminez si le script présente un comportement inattendu ou problématique.
Si nécessaire, corrigez le script sur votre machine virtuelle lab et réexécutez le script pour vérifier que les problèmes sont résolus.
Vérifier la structure des artefacts
Un artefact personnalisé doit avoir la structure appropriée. Veillez à confirmer que les artefacts personnalisés dans le script d’installation d’artefacts implémentent la structure correcte. Les ressources suivantes fournissent des informations pour vous aider à effectuer cette vérification :
- Pour plus d’informations sur la bonne façon de créer un artefact, consultez la page Créer des artefacts personnalisés.
- Pour un exemple d’artefact correctement structuré, consultez l’artefact Tester les types de paramètres.
- Pour plus d’informations sur l’écriture et la correction de scripts d’artefact, consultez Création d’artefacts.
Demander une mise à jour de script
Vous pouvez envoyer des propositions de corrections de scripts pour des artefacts hébergés dans le référentiel public de DevTest Labs. Pour plus de détails, consultez la section Contributions dans le document README.
Get support
Si vous avez besoin d’une aide supplémentaire, essayez l’un des canaux de support suivants :
Effectuez une recherche dans les ressources de la Communauté Microsoft pour obtenir des informations sur Azure DevTest Labs et consultez les publications sur Stack Overflow.
Connectez-vous à @AzureSupport, le compte Microsoft Azure officiel pour améliorer l’expérience client. Le Support Azure fournit à la communauté Azure des réponses, un support technique et des experts.





