Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
In dit artikel wordt u begeleid bij mogelijke oorzaken en probleemoplossingsstappen voor artefactfouten in uw azure DevTest Labs-resources voor virtuele machines (VM's).
Artefacten zijn hulpprogramma's, acties of software die u tijdens of na het maken van de VM op lab-VM's kunt installeren. Labeigenaren kunnen vooraf verplichte artefacten selecteren die moeten worden toegepast op alle lab-VM's bij het maken en labgebruikers kunnen artefacten toepassen op VM's die ze bezitten. Verschillende mogelijke problemen kunnen ertoe leiden dat artefacten niet kunnen worden geïnstalleerd en toegepast op een lab of correct worden uitgevoerd op een lab-VM.
Wanneer een artefact niet meer reageert, is de eerste stap om te bepalen waarom het proces vastloopt. De installatie van artefacten kan worden geblokkeerd tijdens de eerste aanvraag of kan mislukken tijdens het uitvoeren van de aanvraag. U kunt problemen met artefacten oplossen vanuit Azure Portal of vanuit de VM waar de artefactfout optreedt.
Problemen oplossen in Azure Portal
Als een artefact niet succesvol wordt toegepast op uw lab-VM, kunt u beginnen met het onderzoeken van de status van uw virtuele machine in de Azure portal. U vindt informatie over de status van de virtuele machine, bevestigt dat deze wordt uitgevoerd en controleert of artefacten kunnen worden toegepast. De activiteitenlogboekgegevens voor de lab-VM bevatten vermeldingen over installatieprocessen. U kunt de vermeldingen controleren om informatie te vinden over artefactfouten.
VM-status controleren
Controleer de VM-status in Azure Portal door de volgende stappen uit te voeren:
Ga naar de Overzicht pagina voor de DevTest Labs-lab-VM en controleer of de status van de machine Actief is:
Selecteer Artefacten om de lijst met artefacten voor de lab-VM te openen:
              
              
            
Controleer de optie Artefacten toepassen en controleer of de lab-VM gereed is om toegepaste artefacten te accepteren:
              
              
            
Wanneer de optie Artefacten toepassen grijs wordt weergegeven, kunt u geen artefacten toepassen op de lab-VM en ziet u een meldingsbericht op de pagina:
              
              
            
Een PowerShell-opdracht gebruiken
U kunt Ook Azure PowerShell gebruiken om te controleren of uw lab-VM toegepaste artefacten kan ontvangen.
Met de volgende GET opdracht wordt de canApplyArtifacts vlag geretourneerd met de waarde Waar of Onwaar. Als u de opdracht wilt uitvoeren, vervangt u de $SubscriptionId parameter door uw abonnements-id, de parameter door de $LabName/$VmName naam van uw lab en de VM en de parameter door de naam van de $LabRgName labresourcegroep.
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
Details van mislukte artefacten onderzoeken
Een artefact reageert niet meer en wordt uiteindelijk weergegeven als Mislukt in de lijst met artefacten voor de lab-VM.
Onderzoek mislukte artefacten door deze stappen uit te voeren:
Ga naar de lijstpagina Artefacten voor de lab-VM en selecteer het artefact met de status Mislukt :
              
              
            
De detailweergave van het artefact wordt geopend. De details bevatten informatie over het implementatiebericht en het extensiebericht over de artefactfout:
Activiteitenlogboeken inspecteren
Als u artefacten wilt installeren, maakt en implementeert DevTest Labs een ARM-sjabloon (Azure Resource Manager) die het gebruik van de aangepaste scriptextensie (CSE) aanvraagt. Een fout op dit niveau verschijnt in de activiteitenlogboeken voor het abonnement en de resourcegroep die de lab-VM bevat.
Note
Wanneer u de activiteitenlogboeken bekijkt, moet u mogelijk de vermeldingen van het installatieproces uitvouwen om de samenvattingen van de foutfouten weer te geven.
Controleer de vermeldingen in het activiteitenlogboek op fouten met betrekking tot de installatie of toepassing van het artefact op de lab-VM door de volgende stappen uit te voeren:
Ga naar de pagina Activiteitenlogboek voor de lab-VM en zoek het artefact met de status Mislukt :
Selecteer de vermelding om het detailvenster te openen en de logboekgegevens weer te geven:
Als u het artefact rechtstreeks op uw lab-VM probeert toe te passen, zoekt u naar foutmeldingen met betrekking tot het installatieproces van de extensie voor het maken of bijwerken van virtuele machines.
Als u een virtuele machine maakt en het artefact tijdens het proces toepast, zoekt u naar fouten die zijn gerapporteerd voor het installatieproces van het maken of bijwerken van de virtuele machine.
De titel van het deelvenster komt overeen met de titel van het item, bijvoorbeeld artefacten toepassen op virtuele machine:
              
              
            
Selecteer in het detailvenster JSON om de inhoud van de JSON-nettolading te controleren. U ziet de fout aan het einde van het JSON-document:
Het artefactenopslagdepot en de labopslag onderzoeken
Wanneer DevTest Labs een artefact toepast, worden de artefactconfiguratie en bestanden uit verbonden opslagplaatsen gelezen. Als een artefact niet kan worden geïnstalleerd of toegepast op uw lab-VM, kan het probleem te maken hebben met toegang tot de opslagplaats.
DevTest Labs heeft standaard toegang tot de openbare artefactopslagplaats van DevTest Labs. U kunt ook een lab verbinden met een privéopslagplaats voor toegang tot aangepaste artefacten. Afhankelijk van de configuratie hebben lab-VM's mogelijk geen directe toegang tot de artefactopslagplaats. DevTest Labs slaat de artefacten op in een labopslagaccount dat wordt gemaakt toen het lab voor het eerst initialiseert.
Als een aangepast artefact niet kan worden geïnstalleerd, controleert u of het persoonlijke toegangstoken (PAT) voor de privéopslagplaats niet is verlopen. Als de PAT is verlopen, wordt het artefact niet vermeld en mislukken scripts die verwijzen naar artefacten uit die opslagplaats.
Als de toegang tot het opslagaccount wordt geblokkeerd, ziet u mogelijk een fout die vergelijkbaar is met deze:
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.U kunt deze fout bijvoorbeeld tegenkomen wanneer verkeer van de VIRTUELE machine naar de Azure Storage-service wordt geblokkeerd. De fout wordt weergegeven in het activiteitenlogboek van de resourcegroep voor de lab-VM.
Identificeer verbindingsproblemen met de opslagplaats met het Azure Storage-account door de volgende stappen uit te voeren:
Controleer op toegevoegde netwerkbeveiligingsgroepen (NSG's). Als er een abonnementsbeleid wordt toegevoegd om NSG's automatisch te configureren in alle virtuele netwerken, kan dit van invloed zijn op het virtuele netwerk dat wordt gebruikt voor het maken van uw lab-VM's.
Controleer alle NSG-regels:
Gebruik IP-stroomverificatie om te bepalen of een NSG-regel verkeer naar of van een VIRTUELE machine blokkeert.
Controleer de effectieve beveiligingsgroepsregels om ervoor te zorgen dat er een inkomende NSG-regel toestaan bestaat. Zie Effectieve beveiligingsregels gebruiken om problemen met vm-verkeersstromen op te lossen voor meer informatie.
Controleer het standaardopslagaccount voor uw lab.
Het standaardopslagaccount is het eerste opslagaccount dat is gemaakt tijdens het maken van het lab. De naam begint meestal met de letter 'a' en eindigt met een getal met meerdere cijfers:
a<labname>#.Ga naar de pagina Overzicht voor het DevTest Labs-lab en selecteer Resource visualiseren.
Zoek in het diagram het opslagaccount met een naam die overeenkomt met de beschreven naamconventie.
a<labname>#Plaats de muisaanwijzer op de opslagaccountresource, verplaats de aanwijzer naar het i-pictogram om het snelmenu weer te geven en selecteer Weergeven:
Vouw op de overzichtspagina van het opslagaccount de sectie Beveiliging en netwerken in het linkermenu uit en selecteer Netwerken:
Controleer op het tabblad Firewalls en virtuele netwerken de configuratie voor de optie Openbare netwerktoegang :
Als Ingeschakeld vanuit geselecteerde virtuele netwerken en IP-adressen is geselecteerd, controleert u of in de lijst met toegestane IP-adressen de virtuele netwerken van het lab worden weergegeven die kunnen worden gebruikt om lab-VM's te maken:
              
              
            
Controleer anders of Ingeschakeld vanuit alle netwerken is geselecteerd:
              
              
            
Zie Azure Storage-firewalls en virtuele netwerken configureren voor uitgebreide probleemoplossing.
Problemen oplossen op de labcomputer
U kunt verbinding maken met de virtuele machine in het lab waar het artefact is mislukt om het probleem te onderzoeken.
Het CSE-logboekbestand controleren
Bekijk het CSE-logboekbestand voor een Windows-VM door de volgende stappen uit te voeren:
Maak verbinding met uw actieve DevTest Labs-lab-VM.
Ga in Verkenner naar C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Status\. Een voorbeeld <CSE-versie> is
1.10.12.
              
              
            
Open en inspecteer een STATUS-bestand , zoals 1.status, om de fout weer te geven.
Zie Azure CSE versie 2 gebruiken met virtuele Linux-machines voor instructies over het vinden van de logboekbestanden op een Virtuele Linux-machine.
Azure Virtual Machine Agent controleren
Zorg ervoor dat de Azure Virtual Machine Agent (VM Agent) voor uw lab-VM is geïnstalleerd en gereed is.
Wanneer uw lab-VM voor het eerst wordt gestart of wanneer de CSE voor het eerst wordt geïnstalleerd om het verzoek tot het toepassen van artefacten te verwerken, moet de lab-VM mogelijk de VM-agent upgraden of wachten totdat de VM-agent is geïnitialiseerd. De VM-agent kan afhankelijk zijn van services die lang duren om te initialiseren.
Bepaal of de VM-agent ervoor zorgt dat het artefact niet meer reageert door de volgende stappen uit te voeren:
Maak verbinding met uw actieve DevTest Labs-lab-VM.
Ga in Verkenner naar de map met de logboekbestanden voor uw lab-VM, bijvoorbeeld C:\WindowsAzure\logs.
Open het bestand WaAppAgent.log .
Zoek in het logboekbestand naar vermeldingen waarin de VM-agent wordt gestart, de initialisatie wordt afgerond en de eerste heartbeat wordt verzonden. Scan vermeldingen op tijdstempels rond de tijd waarop het artefactprobleem is opgetreden. In het volgende fragment ziet u enkele voorbeeldvermeldingen uit het logboekbestand:
[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.In dit voorbeeld duurde het 10 minuten en 20 seconden voordat de VM-agent werd gestart. De vertraging is opgetreden omdat het lang duurde voordat de out-of-box experience-service (OOBE) werd gestart. De lange begintijd voor de VM-agent heeft ervoor gezorgd dat het artefact niet meer reageert.
Zie extensies en functies van virtuele Azure-machines voor algemene informatie over Azure-extensies. Zie het overzicht van azure Virtual Machine Agent voor meer ideeën voor probleemoplossing.
Scriptproblemen onderzoeken
Een andere reden waarom de artefactinstallatie mislukt, is vanwege de manier waarop het artefactinstallatiescript wordt geschreven.
Hier volgen enkele voorbeelden van mogelijke scriptproblemen:
Het script heeft verplichte parameters, maar er wordt geen verwachte waarde doorgegeven tijdens het uitvoeren van het script. Dit scenario kan zich voordoen als de gebruiker een verwachte parameter leeg mag laten en een standaardwaarde niet is opgegeven in het artifactfile.json definitiebestand. Als gevolg hiervan reageert het script niet meer omdat het wacht op gebruikersinvoer. Wanneer voor het script parameterwaarden zijn vereist, is het een goed idee om standaardwaarden te definiëren en te vereisen dat de gebruiker een waarde invoert.
Voor het script is gebruikersactie vereist tijdens het uitvoeren van het script. Dit scenario kan zich voordoen als er een lange vertraging is in de uitvoering van het script terwijl de gebruiker wacht totdat deze actie onderneemt. Het is een goede gewoonte om scripts te schrijven die op de achtergrond kunnen werken zonder tussenkomst van de gebruiker.
Bepaal of het script ervoor zorgt dat het artefact niet meer reageert door de volgende stappen uit te voeren:
Maak verbinding met uw actieve DevTest Labs-lab-VM.
Open Verkenner.
Ga naar de map Downloaden met het artefactinstallatiescript voor uw VIRTUELE machine, bijvoorbeeld C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Downloads\. Een voorbeeld <CSE-versie> is
1.10.12.Voor de volgende stappen kunt u met het script in deze map werken of het script kopiëren naar een werkmap op uw VIRTUELE machine.
Open een opdrachtpromptvenster met beheerdersbevoegdheden op uw VIRTUELE machine.
Voer het installatiescript voor artefacten uit in het opdrachtpromptvenster.
Volg de scriptprompts en voer de vereiste parameterwaarden in. Als u wilt onderzoeken of het ontbreken van gebruikersinvoer of vertraagde gebruikersactie een probleem veroorzaakt, probeert u het specifieke gedrag te reproduceren.
Bepaal of het script onverwacht of problematisch gedrag laat zien.
Corrigeer indien nodig het script op uw lab-VM en voer het script opnieuw uit om te bevestigen dat er problemen zijn opgelost.
Artefactstructuur controleren
Een aangepast artefact moet de juiste structuur hebben. Controleer of aangepaste artefacten in het installatiescript voor artefacten de juiste structuur implementeren. De volgende bronnen bevatten informatie om u te helpen deze controle te voltooien:
- Zie Aangepaste artefacten maken voor informatie over het correct samenstellen van een artefact.
 - Zie voor een voorbeeld van een correct gestructureerd artefact het artefact Parametertypen testen.
 - Zie Artefacten schrijven voor meer informatie over het schrijven en corrigeren van artefactscripts.
 
Een scriptupdate aanvragen
U kunt voorgestelde scriptcorrecties indienen voor artefacten die worden gehost in de openbare opslagplaats van DevTest Labs. Zie de sectie Bijdragen in het LEESMIJ-document voor meer informatie.
Get support
Als u meer hulp nodig hebt, kunt u een van de volgende ondersteuningskanalen proberen:
Zoek in de Microsoft Community-resources naar informatie over Azure DevTest Labs en bekijk berichten op Stack Overflow.
Maak verbinding met @AzureSupport, het officiële Microsoft Azure-account voor het verbeteren van de klantervaring. Azure Support verbindt de Azure-community met antwoorden, ondersteuning en experts.