Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver möjliga orsaker och felsökningssteg för artefaktfel på dina virtuella Azure DevTest Labs-resurser (VM).
Artefakter är verktyg, åtgärder eller programvara som du kan installera på virtuella labbdatorer under eller efter skapandet av den virtuella datorn. Labbägare kan välja obligatoriska artefakter som ska tillämpas på alla virtuella labbdatorer när de skapas, och labbanvändare kan tillämpa artefakter på virtuella datorer som de äger. Flera möjliga problem kan orsaka att artefakter inte kan installeras och tillämpas på ett labb eller köras korrekt på en virtuell labbdator.
När en artefakt verkar sluta svara är det första steget att försöka avgöra varför processen har fastnat. Artefaktinstallationen kan blockeras under den initiala begäran eller misslyckas under utförandet av begäran. Du kan felsöka artefaktfel från Azure-portalen eller från den virtuella dator där artefaktfelet inträffar.
Felsöka i Azure Portal
Om en artefakt inte tillämpas framgångsrikt på din laboratorie-VM, kan du börja med att undersöka statusen för den virtuella datorn i Azure-portalen. Du kan hitta information om tillståndet för den virtuella datorn, bekräfta att den körs och kontrollera att artefakter kan användas. Aktivitetsloggdata för den virtuella labbservern visar poster om installationsprocesser. Du kan kontrollera posterna för att hitta information om fel relaterade till artefakter.
Kontrollera vm-status
Kontrollera vm-statusen i Azure-portalen genom att utföra följande steg:
Gå till sidan Översikt för den virtuella labbdatorn i DevTest Labs och bekräfta att datorns status är körs:
Välj Artefakter för att öppna artefaktlistan för den virtuella labbdatorn:
Kontrollera alternativet Tillämpa artefakter och bekräfta att den virtuella labbdatorn är redo att acceptera tillämpade artefakter:
När alternativet Tillämpa artefakter visas nedtonat kan du inte tillämpa artefakter på den virtuella labbdatorn och du ser ett meddelande på sidan:
Använda ett PowerShell-kommando
Du kan också använda Azure PowerShell för att kontrollera om den virtuella labbdatorn kan ta emot tillämpade artefakter.
Följande GET kommando returnerar canApplyArtifacts flaggan med värdet True eller False. Om du vill köra kommandot ersätter du parametern $SubscriptionId med ditt prenumerations-ID, parametern $LabName/$VmName med ditt labbnamn och vm-namn och parametern $LabRgName med namnet på labbresursgruppen.
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
Undersöka misslyckad artefaktinformation
En artefakt kan sluta svara och visas så småningom som Misslyckad i artefaktlistan för den virtuella labbdatorn.
Undersök misslyckade artefakter genom att utföra följande steg:
Gå till listsidan Artefakter för den virtuella labbdatorn och välj artefakten med statusen Misslyckad :
Visningen för artefaktens detaljer öppnas. Detaljerna inkluderar distributionsmeddelandet och tilläggsmeddelandet med information om artefaktfelet.
Granska aktivitetsloggar
För att installera artefakter skapar och distribuerar DevTest Labs en Arm-mall (Azure Resource Manager) som begär användning av CSE (Custom Script Extension). Ett fel på den här nivån visas i aktivitetsloggarna för prenumerationen och för resursgruppen som innehåller den virtuella labbdatorn.
Note
När du visar aktivitetsloggarna kan du behöva expandera installationsprocessposterna för att se felfelsammanfattningarna.
Kontrollera aktivitetsloggposterna efter fel som rör installation eller program av artefakten på den virtuella labbdatorn genom att utföra följande steg:
Gå till sidan Aktivitetslogg för den virtuella labbdatorn och leta upp artefakten med statusen Misslyckad :
Välj posten för att öppna informationsfönstret och visa logginformationen:
Om du försöker tillämpa artefakten direkt på din virtuella labbdator, leta efter fel relaterade till installationsprocessen för att skapa eller uppdatera tillägget för virtuella datorer.
Om du skapar en virtuell dator och tillämpar artefakten under processen ska du leta efter fel som har rapporterats under installationsprocessen Skapa eller uppdatera virtuell dator.
Fönstrets rubrik motsvarar postrubriken, till exempel Tillämpa artefakter på en virtuell dator:
I informationsfönstret väljer du JSON för att granska innehållet i JSON-nyttolasten. Du kan se felet i slutet av JSON-dokumentet:
Undersöka artefaktförrådet och labblagringskontot
När DevTest Labs tillämpar en artefakt läser den artefaktkonfigurationen och filerna från anslutna lagringsplatser. Om en artefakt inte kan installeras eller tillämpas på den virtuella labbdatorn kan problemet vara relaterat till lagringsplatsåtkomst.
Som standard har DevTest Labs åtkomst till den offentliga artefaktlagringsplatsen DevTest Labs. Du kan också ansluta ett labb till en privat lagringsplats för att få åtkomst till anpassade artefakter. Beroende på konfigurationen kanske de virtuella labbdatorerna inte har direkt åtkomst till artefaktlagringsplatsen. DevTest Labs cachelagrar artefakterna i ett labblagringskonto som skapas när labbet först initieras.
Om en anpassad artefakt inte kan installeras kontrollerar du att den personliga åtkomsttoken (PAT) för den privata lagringsplatsen inte har upphört att gälla. Om PAT har upphört att gälla visas inte artefakten och skript som refererar till artefakter från den lagringsplatsen misslyckas.
Om åtkomsten till lagringskontot blockeras kan ett fel som liknar det här visas:
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.Du kan till exempel stöta på det här felet när trafik blockeras från den virtuella datorn till Azure Storage-tjänsten. Felet visas i aktivitetsloggen för resursgruppen för den virtuella labbdatorn.
Identifiera problem med lagringsplatsens anslutning till Azure Storage-kontot genom att utföra följande steg:
Sök efter tillagda nätverkssäkerhetsgrupper (NSG:er). Om en prenumerationsprincip läggs till för att automatiskt konfigurera nätverkssäkerhetsgrupper i alla virtuella nätverk kan det påverka det virtuella nätverk som används för att skapa dina virtuella labbdatorer.
Kontrollera alla NSG-regler:
Använd KONTROLLERA IP-flöde för att avgöra om en NSG-regel blockerar trafik till eller från en virtuell dator.
Granska effektiva regler för säkerhetsgrupper för att säkerställa att det finns en inkommande Tillåt-regel i NSG. Mer information finns i Använda effektiva säkerhetsregler för att felsöka trafikflödet för virtuella datorer.
Kontrollera standardlagringskontot för ditt labb.
Standardlagringskontot är det första lagringskontot som skapades när labbet skapades. Namnet börjar vanligtvis med bokstaven "a" och slutar med ett flersiffrigt tal:
a<labname>#.Gå till sidan Översikt för labbuppgiften DevTest Labs och välj Resursvisualiserare.
Leta upp lagringskontot som har ett namn som matchar den namngivningskonvention som beskrivs i diagrammet.
a<labname>#Vila muspekaren över lagringskontoresursen , flytta pekaren till ikonen i för att se popup-menyn och välj sedan Visa:
På sidan Översikt över lagringskonto expanderar du avsnittet Säkerhet + nätverk på den vänstra menyn och väljer sedan Nätverk:
På fliken Brandväggar och virtuella nätverk kontrollerar du konfigurationen för alternativet Åtkomst till offentligt nätverk :
Om Aktiverad från valda virtuella nätverk och IP-adresser har valts kontrollerar du att listan över tillåtna IP-adresser visar labbets virtuella nätverk som kan användas för att skapa virtuella labbdatorer:
Annars kontrollerar du att Aktiverad från alla nätverk har valts:
Detaljerad felsökning finns i Konfigurera Azure Storage-brandväggar och virtuella nätverk.
Felsöka på labbdatorn
Du kan ansluta till den virtuella labbdatorn där artefakten misslyckades och undersöka problemet.
Granska CSE loggfilen
Visa CSE-loggfilen för en virtuell Windows-dator genom att utföra följande steg:
Anslut till den virtuella DevTest Labs-labbdator som körs.
I Utforskaren går du till C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Status\. Ett exempel på< CSE-version> är
1.10.12.
Öppna och granska en STATUS-fil , till exempel 1.status, för att visa felet.
Anvisningar om hur du hittar loggfilerna på en virtuell Linux-dator finns i Använda Azure CSE version 2 med virtuella Linux-datorer.
Kontrollera Azure Virtual Machine Agent
Kontrollera att Azure Virtual Machine Agent (VM Agent) för den virtuella labbdatorn är installerad och klar.
När den virtuella labbdatorn först startar, eller när CSE först installeras för att hantera begäran om att tillämpa artefakter, kan den virtuella labbdatorn behöva uppgradera VM-agenten eller vänta tills VM-agenten initieras. VM-agenten kan vara beroende av tjänster som tar lång tid att initiera.
Kontrollera om VM-agenten får artefakten att sluta svara genom att utföra följande steg:
Anslut till den virtuella DevTest Labs-labbdator som körs.
I Utforskaren går du till mappen som innehåller loggfilerna för den virtuella labbdatorn, till exempel C:\WindowsAzure\logs.
Öppna filen WaAppAgent.log .
Leta efter poster i loggfilen som visar att VM-agenten startar, avslutar initieringen och skickar det första pulsslaget. Sök igenom poster efter tidsstämplar runt den tid då du upplevde artefaktproblemet. Följande kodfragment visar några exempelposter från loggfilen:
[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.I det här exemplet tog VM-agenten 10 minuter och 20 sekunder att starta. Fördröjningen inträffade eftersom OOBE-tjänsten (out-of-box-experience) tog lång tid att starta. Den långa starttiden för VM-agenten gjorde att artefakten slutade svara.
Allmän information om Azure-tillägg finns i Tillägg och funktioner för virtuella Azure-datorer. Mer felsökningsidéer finns i Översikt över Azure Virtual Machine Agent.
Undersöka problem med skript
En annan orsak till att artefaktinstallationen kan misslyckas är på grund av hur skriptet för artefaktinstallation skrivs.
Här är några exempel på potentiella skriptproblem:
Skriptet har obligatoriska parametrar, men ett förväntat värde skickas inte under skriptkörningen. Det här scenariot kan inträffa om användaren tillåts lämna en förväntad parameter tom och ett standardvärde inte anges i artifactfile.json definitionsfilen. Därför slutar skriptet att svara eftersom det väntar på användarindata. När skriptet kräver parametervärden är det bra att definiera standardvärden och kräva att användaren anger ett värde.
Skriptet kräver användaråtgärd under skriptkörningen. Det här scenariot kan inträffa om det finns en lång fördröjning i skriptkörningen i väntan på att användaren ska vidta åtgärder. Det är en bra idé att skriva skript som kan fungera tyst utan att användaren behöver ingripa.
Kontrollera om skriptet får artefakten att sluta svara genom att utföra följande steg:
Anslut till den virtuella DevTest Labs-labbdator som körs.
Öppna Utforskaren för filer.
Gå till mappen Ladda ned med installationsskriptet för artefakt för den virtuella datorn, till exempel C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Downloads\. Ett exempel på< CSE-version> är
1.10.12.För efterföljande steg kan du arbeta med skriptet i den här mappen eller kopiera skriptet till en arbetsmapp på den virtuella datorn.
Öppna ett kommandotolkfönster med administratörsbehörighet på den virtuella datorn.
Kör artefaktens installationsskript i kommandotolken.
Följ skriptprompterna och ange de obligatoriska parametervärdena. Om du vill undersöka om brist på användarindata eller fördröjd användaråtgärd orsakar ett problem kan du försöka återskapa det specifika beteendet.
Kontrollera om skriptet visar oväntat eller problematiskt beteende.
Korrigera skriptet på den virtuella labbdatorn efter behov och kör skriptet igen för att bekräfta att problemen är lösta.
Kontrollera artefaktstrukturen
En anpassad artefakt måste ha rätt struktur. Kontrollera att anpassade artefakter i artefaktinstallationsskriptet implementerar rätt struktur. Följande resurser innehåller information som hjälper dig att slutföra den här kontrollen:
- Information om hur du konstruerar en artefakt korrekt finns i Skapa anpassade artefakter.
- Ett exempel på en korrekt strukturerad artefakt finns i artefakten Testparametertyper .
- Mer information om hur du skriver och korrigerar artefaktskript finns i Redigera artefakter.
Begära en skriptuppdatering
Du kan skicka föreslagna skriptkorrigeringar för artefakter som finns på den offentliga lagringsplatsen DevTest Labs. Mer information finns i avsnittet Bidrag i README-dokumentet .
Get support
Om du behöver mer hjälp kan du prova någon av följande supportkanaler:
Sök i Microsoft Community-resurserna efter information om Azure DevTest Labs och visa inlägg på Stack Overflow.
Anslut till @AzureSupport, det officiella Microsoft Azure-kontot för att förbättra kundupplevelsen. Azure Support ansluter Azure-communityn till svar, support och experter.