Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vás provede možnými příčinami a kroky pro řešení potíží se selháními artefaktů na prostředcích virtuálního počítače Azure DevTest Labs.
Artefakty jsou nástroje, akce nebo software, které můžete nainstalovat na laboratorní virtuální počítače během jejich vytváření nebo po vytvoření. Vlastníci testovacího prostředí můžou předem vybrat povinné artefakty , které se použijí pro všechny virtuální počítače testovacího prostředí při vytváření, a uživatelé testovacího prostředí můžou použít artefakty na virtuální počítače , které vlastní. Několik možných problémů může způsobit, že artefakty nelze nainstalovat a aplikovat v laboratoři, nebo že neproběhne jejich správné spuštění na virtuálním počítači laboratoře.
Když se zdá, že artefakt přestane reagovat, prvním krokem je zkusit zjistit, proč je proces zablokovaný. Instalaci artefaktu lze zablokovat během počátečního požadavku nebo může selhat během provádění požadavku. Selhání artefaktů můžete řešit na webu Azure Portal nebo na virtuálním počítači, ve kterém dochází k selhání artefaktů.
Řešení potíží na webu Azure Portal
Pokud se artefakt nedaří úspěšně použít na váš virtuální počítač v laboratoři, můžete začít tím, že prozkoumáte stav svého virtuálního počítače v Azure Portálu. Můžete najít informace o stavu virtuálního počítače, potvrdit, že je spuštěný, a ověřit, že je možné použít artefakty. Data protokolu aktivit pro virtuální počítač testovacího prostředí zobrazují položky týkající se procesů instalace. Můžete zkontrolovat položky a vyhledat informace o selhání artefaktů.
Kontrola stavu virtuálního počítače
Pomocí následujících kroků zkontrolujte stav virtuálního počítače na webu Azure Portal:
Přejděte na stránku Přehled virtuálního počítače DevTest Labs a ověřte, že je počítač spuštěný:
Výběrem artefaktů otevřete seznam artefaktů pro virtuální počítač testovacího prostředí:
Zkontrolujte možnost Použít artefakty a ověřte, že je virtuální počítač testovacího prostředí připravený k přijetí použitých artefaktů:
Když se možnost Použít artefakty zobrazí šedě, nemůžete na virtuální počítač testovacího prostředí použít artefakty a na stránce se zobrazí zpráva s oznámením:
Použití příkazu PowerShellu
Pomocí Azure PowerShellu můžete také zkontrolovat, jestli váš testovací virtuální počítač může přijímat použité artefakty.
Následující GET příkaz vrátí canApplyArtifacts příznak s hodnotou True nebo False. Pokud chcete příkaz spustit, nahraďte $SubscriptionId parametr ID předplatného, parametr názvem testovacího $LabName/$VmName prostředí a názvem virtuálního počítače a $LabRgName parametr názvem vaší skupiny prostředků testovacího prostředí.
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
Zkoumat podrobnosti o neúspěchu artefaktů
Artefakt může přestat odpovídat a nakonec se zobrazí jako Selhalo v seznamu artefaktů virtuálního počítače v testovacím prostředí.
Prozkoumejte neúspěšné artefakty provedením těchto kroků:
Přejděte na stránku seznamu Artefakty pro virtuální počítač testovacího prostředí a vyberte artefakt se stavem Selhání :
Otevře se zobrazení podrobností artefaktu . Podrobnosti zahrnují informace o zprávě o nasazení a zprávě o rozšíření týkající se selhání artefaktu:
Kontrola protokolů aktivit
K nainstalování artefaktů DevTest Labs vytvoří a nasadí šablonu Azure Resource Manageru (ARM), která požaduje použití rozšíření pro vlastní skripty (CSE). V protokolech aktivit pro předplatné a skupinu prostředků, která obsahuje laboratořní virtuální počítač, se na této úrovni zobrazí chyba.
Note
Když zobrazíte protokoly aktivit, možná budete muset rozbalit položky procesu instalace, aby se zobrazily souhrny chyb selhání.
Zkontrolujte selhání protokolu aktivit související s instalací nebo aplikací artefaktu na virtuálním počítači testovacího prostředí provedením následujících kroků:
Přejděte na stránku protokolu aktivit virtuálního počítače testovacího prostředí a vyhledejte artefakt se stavem Selhání :
Výběrem položky otevřete podokno podrobností a zobrazte informace protokolu:
Pokud se pokoušíte použít artefakt přímo na laboratorní VM, hledejte chyby, které souvisí se selháním procesu instalace rozšíření pro vytvoření nebo aktualizaci virtuálního počítače.
Pokud vytváříte virtuální počítač a používáte artefakt během procesu, vyhledejte chyby selhání hlášené pro proces instalace vytvoření nebo aktualizace virtuálního počítače .
Název podokna odpovídá názvu položky, například Použít artefakty na virtuální počítač:
V podokně podrobností vyberte JSON a zkontrolujte obsah datové části JSON. Na konci dokumentu JSON se zobrazí chyba:
Prozkoumejte repozitář artefaktů a účet úložiště testovacího prostředí.
Když DevTest Labs použije artefakt, přečte konfiguraci artefaktu a soubory z připojených úložišť. Pokud se artefakt nepodaří nainstalovat nebo použít pro virtuální počítač testovacího prostředí, může problém souviset s přístupem k úložišti.
Ve výchozím nastavení má DevTest Labs přístup k veřejnému úložišti artefaktů DevTest Labs. Můžete také připojit testovací prostředí k privátnímu úložišti pro přístup k vlastním artefaktům. V závislosti na konfiguraci nemusí mít virtuální počítače testovacího prostředí přímý přístup k úložišti artefaktů. DevTest Labs ukládá artefakty do mezipaměti v účtu úložiště laboratoře, který se vytvoří, když se laboratoř poprvé inicializuje.
Pokud se nepovede nainstalovat vlastní artefakt, ujistěte se, že token PAT privátního úložiště nevypršel. Pokud vypršela platnost tokenu PAT, artefakt není uvedený a všechny skripty, které odkazují na artefakty z tohoto úložiště, selžou.
Pokud je přístup k účtu úložiště zablokovaný, může se zobrazit chyba podobná této:
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.K této chybě může dojít například v případě, že se provoz z virtuálního počítače zablokuje do služby Azure Storage. Tato chyba se zobrazí v protokolu aktivit skupiny prostředků pro labový virtuální počítač.
Pomocí následujícího postupu identifikujte problémy s připojením úložiště k účtu služby Azure Storage:
Zkontrolujte přidání skupin zabezpečení sítě (NSG). Pokud se přidá zásada předplatného pro automatickou konfiguraci NSG ve všech virtuálních sítích, může to mít vliv na virtuální síť používanou k vytvoření virtuálních počítačů v laboratoři.
Ověřte všechna pravidla NSG:
Pomocí ověření toku protokolu IP určete, jestli pravidlo NSG blokuje provoz do nebo z virtuálního počítače.
Zkontrolujte platná pravidla skupin zabezpečení a ujistěte se, že existuje příchozí pravidlo v Network Security Group (NSG) s povolením. Další informace najdete v tématu Použití efektivních pravidel zabezpečení k řešení potíží s tokem provozu virtuálního počítače.
Zkontrolujte výchozí účet úložiště pro vaši laboratoř.
Výchozí účet úložiště je první účet úložiště vytvořený během vytváření testovacího prostředí. Název obvykle začíná písmenem "a" a končí víceciferným číslem:
a<labname>#.Přejděte na stránku Přehled pro testovací prostředí DevTest Labs a vyberte Vizualizér prostředků.
V diagramu vyhledejte účet úložiště, který má název, který odpovídá popsané konvenci pojmenování.
a<labname>#Umístěte ukazatel myši na prostředek úložiště, přesuňte ukazatel na ikonu i, aby se zobrazila vyskakovací nabídka, a pak vyberte Zobrazit:
Na stránce Přehled účtu úložiště rozbalte v nabídce vlevo část Zabezpečení a sítě a pak vyberte Sítě:
Na kartě Brány firewall a virtuální sítě zkontrolujte konfiguraci možnosti přístupu k veřejné síti:
Pokud je vybraná možnost Povoleno z vybraných virtuálních sítí a IP adres , ověřte, že seznam povolených IP adres zobrazuje virtuální sítě testovacího prostředí, které je možné použít k vytvoření virtuálních počítačů testovacího prostředí:
V opačném případě potvrďte, že je zaškrtnuté políčko Povoleno ze všech sítí :
Podrobné řešení potíží najdete v tématu Konfigurace bran firewall služby Azure Storage a virtuálních sítí.
Řešení potíží na testovacím počítači
Můžete se připojit k virtuálnímu počítači testovacího prostředí, ve kterém selhal artefakt, a prozkoumat problém.
Kontrola souboru protokolu CSE
Prohlédněte si soubor protokolu CSE pro virtuální počítač s Windows provedením následujících kroků:
Připojte se ke svému spuštěnému virtuálnímu počítači DevTest Labs.
V Průzkumníku souborů přejděte na C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Status\. Příkladem <verze> CSE je
1.10.12.
Otevřete a zkontrolujte soubor STATUS , například 1.status, a zobrazte chybu.
Pokyny k vyhledání souborů protokolu na virtuálním počítači s Linuxem najdete v tématu Použití Azure CSE verze 2 s virtuálními počítači s Linuxem.
Kontrola agenta virtuálního počítače Azure
Ujistěte se, že je nainstalovaný a připravený agent virtuálního počítače Azure pro váš testovací virtuální počítač.
Při prvním spuštění virtuálního počítače testovacího prostředí nebo při první instalaci CSE, která bude sloužit k vyřízení požadavku na aplikaci artefaktů, může virtuální počítač testovacího prostředí potřebovat aktualizovat agenta virtuálního počítače nebo počkat na inicializaci agenta virtuálního počítače. Agent virtuálního počítače může záviset na službách, jejichž inicializace trvá delší dobu.
Pomocí následujících kroků zjistěte, jestli agent virtuálního počítače způsobuje, že artefakt přestane reagovat:
Připojte se ke svému spuštěnému virtuálnímu počítači DevTest Labs.
V Průzkumníku souborů přejděte do složky, která obsahuje soubory protokolu pro váš laboratorní virtuální počítač, například C:\WindowsAzure\logs.
Otevřete soubor WaAppAgent.log.
V souboru protokolu vyhledejte záznamy, které zobrazují spuštění VM Agenta, dokončení inicializace a odeslání prvního heartbeat. Prozkoumejte položky časových razítek v době výskytu problému s artefaktem. Následující fragment kódu ukazuje některé ukázkové položky ze souboru protokolu:
[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.V tomto příkladu trvalo spuštění agenta virtuálního počítače 10 minut a 20 sekund. Došlo ke zpoždění, protože spuštění služby OOBE (Out-of-Box-Experience) trvalo dlouhou dobu. Dlouhá doba spuštění agenta virtuálního počítače způsobila, že komponenta přestala reagovat.
Obecné informace o rozšířeních Azure najdete v tématu Rozšíření a funkce virtuálních počítačů Azure. Další nápady na řešení potíží najdete v přehledu agenta virtuálního počítače Azure.
Zkoumání problémů se skripty
Dalším důvodem, proč instalace artefaktů může selhat, je způsob zápisu instalačního skriptu artefaktu.
Tady je několik příkladů potenciálních problémů se skripty:
Skript má povinné parametry, ale očekávaná hodnota se během provádění skriptu nepředá. K tomuto scénáři může dojít v případě, že uživatel může nechat očekávaný parametr prázdný a výchozí hodnota není zadaná v definičním souboru artifactfile.json . Skript proto přestane reagovat, protože čeká na vstup uživatele. Pokud skript vyžaduje hodnoty parametrů, je vhodné definovat výchozí hodnoty a vyžadovat, aby uživatel zadal hodnotu.
Skript vyžaduje akci uživatele během provádění skriptu. K tomuto scénáři může dojít v případě, že při čekání na provedení skriptu dojde k dlouhému zpoždění při čekání na provedení akce uživatele. Je vhodné psát skripty, které můžou bezobslužně fungovat bez nutnosti zásahu uživatele.
Pomocí následujících kroků zjistěte, jestli skript způsobuje, že artefakt přestane reagovat:
Připojte se ke svému spuštěnému virtuálnímu počítači DevTest Labs.
Otevřete Průzkumníka souborů.
Přejděte do složky Download obsahující instalační skript artefaktu pro váš VM, například C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Downloads\. Příkladem <verze> CSE je
1.10.12.V dalších krocích můžete se skriptem v této složce pracovat nebo skript zkopírovat do pracovní složky na virtuálním počítači.
Otevřete okno příkazového řádku s oprávněními správce na virtuálním počítači.
Spusťte instalační skript artefaktu v okně příkazového řádku.
Postupujte podle pokynů skriptu a zadejte požadované hodnoty parametrů. Pokud chcete zjistit, jestli nedostatek uživatelského vstupu nebo zpožděná akce uživatele způsobí problém, zkuste konkrétní chování reprodukovat.
Zjistěte, jestli skript demonstruje neočekávané nebo problematické chování.
Podle potřeby opravte skript na virtuálním počítači testovacího prostředí a spusťte ho znovu, abyste ověřili, že jsou problémy vyřešené.
Kontrola struktury artefaktů
Vlastní artefakt musí mít správnou strukturu. Ujistěte se, že vlastní artefakty ve skriptu instalace artefaktů implementují správnou strukturu. Následující zdroje informací poskytují informace, které vám pomůžou provést tuto kontrolu:
- Informace o tom, jak správně sestavit artefakt, naleznete v tématu Vytvoření vlastních artefaktů.
- Příklad správně strukturovaného artefaktu najdete v artefaktu testovacích typů parametrů.
- Další informace o psaní a opravě skriptů artefaktů najdete v tématu Vytváření artefaktů.
Žádost o aktualizaci skriptu
Můžete odeslat navrhované opravy skriptů pro artefakty hostované ve veřejném úložišti DevTest Labs. Podrobnosti najdete v části Příspěvky v dokumentu README .
Get support
Pokud potřebujete další pomoc, vyzkoušejte jeden z následujících kanálů podpory:
Informace o službě Azure DevTest Labs a zobrazení příspěvků ve službě Stack Overflow najdete v komunitních zdrojích Microsoftu .
Spojte se s @AzureSupport, oficiálním účtem Microsoft Azure pro zlepšení uživatelského prostředí. Podpora Azure propojuje komunitu Azure s odpověďmi, podporou a odborníky.