Az Azure DevTest Labs tesztkörnyezeti virtuális gépeinek összetevőinek hibaelhárítása
Ez a cikk végigvezeti az Azure DevTest Labs virtuálisgép-erőforrások összetevőhibáinak lehetséges okain és hibaelhárítási lépésein.
Az összetevők olyan eszközök, műveletek vagy szoftverek, amelyeket telepíthet tesztkörnyezeti virtuális gépekre a virtuális gép létrehozása során vagy után. A labortulajdonosok előre kijelölhetik a kötelező összetevőket , hogy a létrehozáskor az összes tesztkörnyezeti virtuális gépre vonatkozzanak, a laborfelhasználók pedig a saját virtuális gépeikre alkalmazhatnak összetevőket. Számos lehetséges probléma esetén előfordulhat, hogy az összetevők telepítése és alkalmazása sikertelen lesz egy tesztkörnyezetben, vagy megfelelően fut egy tesztkörnyezeti virtuális gépen.
Amikor egy összetevő úgy tűnik, hogy nem válaszol, az első lépés annak megállapítása, hogy miért elakadt a folyamat. Az összetevő telepítése blokkolható a kezdeti kérés során, vagy sikertelen lehet a kérés végrehajtása során. Az összetevők hibáit az Azure Portalon vagy azon a virtuális gépen háríthatja el, ahol az összetevő meghibásodása történik.
Hibaelhárítás az Azure Portalon
Ha egy összetevő nem alkalmazható sikeresen a tesztkörnyezeti virtuális gépre, először vizsgálja meg a virtuális gép állapotát az Azure Portalon. Információt találhat a virtuális gép állapotáról, ellenőrizheti, hogy fut-e, és ellenőrizheti, hogy alkalmazhatók-e összetevők. A tesztkörnyezeti virtuális gép tevékenységnapló-adatai a telepítési folyamatokkal kapcsolatos bejegyzéseket jelenítik meg. A bejegyzésekben az összetevők hibáival kapcsolatos információkat talál.
Virtuális gép állapotának ellenőrzése
Ellenőrizze a virtuális gép állapotát az Azure Portalon az alábbi lépések végrehajtásával:
Keresse meg a DevTest Labs-tesztkörnyezet virtuális gépének Áttekintés lapját, és ellenőrizze, hogy a gép fut-e:
Válassza az Összetevők lehetőséget, és nyissa meg a tesztkörnyezeti virtuális gép összetevőlistáját:
Ellenőrizze az Összetevők alkalmazása lehetőséget, és győződjön meg arról, hogy a tesztkörnyezet virtuális gépe készen áll az alkalmazott összetevők elfogadására:
Ha az Összetevők alkalmazása beállítás szürkén jelenik meg, nem alkalmazhat összetevőket a tesztkörnyezet virtuális gépére, és megjelenik egy értesítési üzenet a lapon:
Használja az alábbi PowerShell-parancsot
Az Azure PowerShell használatával azt is ellenőrizheti, hogy a tesztkörnyezet virtuális gépe fogadni tudja-e az alkalmazott összetevőket.
Az alábbi GET
parancs true vagy False értékkel adja vissza a canApplyArtifacts
jelölőt. A parancs futtatásához cserélje le a paramétert a $LabName/$VmName
tesztkörnyezet nevére és a virtuális gép nevére, és adja meg a tesztkörnyezet erőforráscsoportját a $LabRgName
paraméterben.
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
Sikertelen összetevők részleteinek vizsgálata
Az összetevők nem válaszolhatnak, és végül sikertelenként jelenhetnek meg a tesztkörnyezeti virtuális gép összetevőlistájában.
Vizsgálja meg a sikertelen összetevőket az alábbi lépések végrehajtásával:
Keresse meg a tesztkörnyezeti virtuális gép Összetevők listaoldalát, és válassza ki a Sikertelen állapotú összetevőt :
Megnyílik az Összetevő részletei nézet. A részletek közé tartozik a telepítési üzenet és a bővítményüzenet információja az összetevő hibájáról:
Tevékenységnaplók vizsgálata
Az összetevők telepítéséhez a DevTest Labs létrehoz és üzembe helyez egy Azure Resource Manager- (ARM-) sablont, amely az egyéni szkriptbővítmény (CSE) használatát kéri. Ezen a szinten hiba jelenik meg az előfizetés tevékenységnaplóiban és a tesztkörnyezeti virtuális gépet tartalmazó erőforráscsoportban.
Feljegyzés
A tevékenységnaplók megtekintésekor előfordulhat, hogy ki kell bontania a telepítési folyamat bejegyzéseit a hiba hibaösszegzőinek megtekintéséhez.
Az alábbi lépésekkel vizsgálja meg a tevékenységnapló bejegyzéseit az összetevő telepítésével vagy alkalmazásával kapcsolatos hibák esetén a tesztkörnyezeti virtuális gépen:
Keresse meg a tesztkörnyezet virtuális gép tevékenységnaplójának lapjára, és keresse meg a sikertelen állapotú összetevőt :
Válassza ki a bejegyzést a részletek panel megnyitásához és a naplóadatok megtekintéséhez:
Ha közvetlenül a tesztkörnyezet virtuális gépére próbálja alkalmazni az összetevőt, keresse meg a virtuálisgép-bővítmény létrehozásának vagy frissítésének telepítési folyamatával kapcsolatos hibahibákat.
Ha virtuális gépet hoz létre, és a folyamat során alkalmazza az összetevőt, keresse meg a virtuális gép létrehozási vagy frissítési folyamatához jelentett hibahibákat.
A panel címe a bejegyzés címének felel meg, például összetevők alkalmazása a virtuális gépre:
A részletek panelen válassza a JSON lehetőséget a JSON hasznos adat tartalmának áttekintéséhez. A JSON-dokumentum végén látható a hiba:
Összetevő-adattár és labortárfiók vizsgálata
Amikor a DevTest Labs alkalmaz egy összetevőt, beolvassa az összetevő konfigurációját és a csatlakoztatott adattárak fájljait. Ha egy összetevő telepítése vagy alkalmazása nem sikerül a tesztkörnyezet virtuális gépére, a probléma az adattárhoz való hozzáféréssel kapcsolatos lehet.
Alapértelmezés szerint a DevTest Labs hozzáfér a DevTest Labs nyilvános összetevő-adattárához. A tesztkörnyezetet privát adattárhoz is csatlakoztathatja az egyéni összetevők eléréséhez. A konfigurációtól függően előfordulhat, hogy a tesztkörnyezeti virtuális gépek nem rendelkeznek közvetlen hozzáféréssel az összetevő-adattárhoz. A DevTest Labs gyorsítótárazza az összetevőket egy labortárfiókban, amelyet a tesztkörnyezet első inicializálásakor hoztak létre.
Ha egy egyéni összetevő telepítése sikertelen, győződjön meg arról, hogy a privát adattár személyes hozzáférési jogkivonata (PAT) nem járt le. Ha a PAT lejárt, az összetevő nem szerepel a listában, és az adott adattárból származó összetevőkre hivatkozó szkriptek sikertelenek.
Ha a tárfiókhoz való hozzáférés le van tiltva, az alábbi példához hasonló hibaüzenet jelenhet meg:
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.
Ezt a hibát akkor tapasztalhatja, ha a forgalom le van tiltva a virtuális gépről az Azure Storage szolgáltatásba. A hiba megjelenik a tesztkörnyezet virtuális gép erőforráscsoportjának tevékenységnaplójában.
Az Alábbi lépésekkel azonosíthatja az Azure Storage-fiók adattárkapcsolati problémáit:
Ellenőrizze a hozzáadott hálózati biztonsági csoportokat (NSG-ket). Ha egy előfizetési szabályzatot adnak hozzá az NSG-k automatikus konfigurálásához minden virtuális hálózatban, az hatással lehet a tesztkörnyezeti virtuális gépek létrehozásához használt virtuális hálózatra.
Ellenőrizze az összes NSG-szabályt:
Ip-forgalom-ellenőrzéssel állapítsa meg, hogy egy NSG-szabály blokkolja-e a virtuális gép felé vagy onnan érkező forgalmat.
Tekintse át az érvényes biztonsági csoportszabályokat, és győződjön meg arról, hogy létezik bejövő engedélyezési NSG-szabály. További információ: Hatékony biztonsági szabályok használata a virtuális gépek forgalmának hibaelhárításához.
Ellenőrizze a labor alapértelmezett tárfiókját.
Az alapértelmezett tárfiók az első tárfiók, amelyet a tesztkörnyezet létrehozásakor hoztak létre. A név általában az "a" betűvel kezdődik, és többjegyű számmal végződik, például
a<labname>#
.Keresse meg a DevTest Labs-tesztkörnyezet virtuális gépének Áttekintés oldalát, és válassza az Erőforrás-vizualizáció lehetőséget.
A diagramon keresse meg azt a Tárfiókot, amelynek neve megegyezik a leírt elnevezési konvencióval.
a<labname>#
Válassza ki a Tárfiók erőforrást az előugró menü megjelenítéséhez, majd válassza a Nézet lehetőséget:
A tárfiók áttekintése lapon bontsa ki a bal oldali menü Biztonság + hálózatkezelés szakaszát, és válassza a Hálózatkezelés lehetőséget:
A Tűzfalak és a virtuális hálózatok lapon ellenőrizze a nyilvános hálózati hozzáférési beállítás konfigurációját:
Ha a kiválasztott virtuális hálózatok és IP-címek engedélyezve vannak, ellenőrizze, hogy az engedélyezett IP-címek listája megjeleníti-e a tesztkörnyezet virtuális hálózatait, amelyek felhasználhatók tesztkörnyezeti virtuális gépek létrehozására:
Ellenkező esetben ellenőrizze, hogy az összes hálózat engedélyezve van-e:
Részletes hibaelhárításért lásd: Azure Storage-tűzfalak és virtuális hálózatok konfigurálása.
Hibaelhárítás a laborgépen
Csatlakozhat a tesztkörnyezeti virtuális géphez, ahol az összetevő meghiúsult, és kivizsgálhatja a problémát.
Egyéni szkriptbővítmény naplófájljának vizsgálata
Tekintse meg a Windows rendszerű virtuális gépek egyéni szkriptbővítményének (CSE) naplófájlját az alábbi lépések végrehajtásával:
Csatlakozzon a futó DevTest Labs-tesztkörnyezeti virtuális géphez.
Nyisson meg egy Fájlkezelő ablakot, és lépjen a C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Status\ elemre. Példa a CSE-verzióra>
1.10.12
.<Nyisson meg és vizsgáljon meg egy STATUS-fájlt a hiba(például 1.status) megtekintéséhez.
A naplófájlok Linux rendszerű virtuális gépeken való megkeresésével kapcsolatos utasításokért lásd: Az Azure Custom Script Extension 2. verziójának használata Linux rendszerű virtuális gépeken.
Az Azure Virtual Machine Agent ellenőrzése
Győződjön meg arról, hogy a tesztkörnyezet virtuális gépéhez tartozó Azure Virtual Machine Agent (VM Agent) telepítve van és készen áll.
Amikor a tesztkörnyezeti virtuális gép először elindul, vagy amikor a CSE először telepíti az összetevők alkalmazásának kérését, előfordulhat, hogy a tesztkörnyezeti virtuális gépnek frissítenie kell a virtuálisgép-ügynököt, vagy várnia kell, amíg a virtuálisgép-ügynök inicializálni kezd. A virtuálisgép-ügynök olyan szolgáltatásoktól függhet, amelyek inicializálása hosszú időt vesz igénybe.
Az alábbi lépések végrehajtásával állapítsa meg, hogy a virtuálisgép-ügynök okozza-e, hogy az összetevő nem válaszol:
Csatlakozzon a futó DevTest Labs-tesztkörnyezeti virtuális géphez.
Nyisson meg egy Fájlkezelő ablakot, és nyissa meg azt a mappát, amely tartalmazza a tesztkörnyezeti virtuális gép naplófájljait, például a C:\WindowsAzure\logs fájlt.
Nyissa meg a WaAppAgent.log fájlt.
A naplófájlban keresse meg azokat a bejegyzéseket, amelyek a virtuálisgép-ügynök indítását, az inicializálás befejezését és az első szívverés küldését mutatják. Az összetevő problémájának észlelése körüli időbélyegek bejegyzéseinek vizsgálata. Az alábbi kódrészlet néhány példabejegyzést mutat be a naplófájlból:
[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.
Ebben a példában a virtuálisgép-ügynök indítása 10 percet és 20 másodpercet vett igénybe. A késés oka az, hogy az OOBE szolgáltatás elindítása hosszú időt vett igénybe. A virtuálisgép-ügynök hosszú kezdési ideje miatt az összetevő nem válaszolt.
Az Azure-bővítményekkel kapcsolatos általános információkért tekintse meg az Azure-beli virtuálisgép-bővítményeket és -funkciókat. További hibaelhárítási ötletekért tekintse meg az Azure Virtual Machine Agent áttekintését.
Szkriptproblémák kivizsgálása
Egy másik ok, amiért az összetevő telepítése meghiúsulhat, az az összetevő telepítési szkriptjének szerzői módjának köszönhető.
Íme néhány példa a lehetséges szkriptproblémákra:
A szkript kötelező paraméterekkel rendelkezik, de a várt érték nem lesz átadva a szkript végrehajtása során. Ez a forgatókönyv akkor fordulhat elő, ha a felhasználó hagyja üresen a várt paramétert, és nincs megadva alapértelmezett érték a artifactfile.json definíciós fájlban. Ennek eredményeképpen a szkript nem válaszol, mert a felhasználói bemenetre vár. Ha a szkript paraméterértékeket igényel, célszerű alapértelmezett értékeket definiálni, és megkövetelni a felhasználótól, hogy adjon meg egy értéket.
A szkripthez felhasználói művelet szükséges a szkript végrehajtása során. Ez a forgatókönyv akkor fordulhat elő, ha a szkript végrehajtásának hosszú késése van, miközben a felhasználó a művelet végrehajtására vár. Ajánlott olyan szkripteket létrehozni, amelyek felhasználói beavatkozás nélkül is képesek csendben dolgozni.
Az alábbi lépések végrehajtásával állapítsa meg, hogy a szkript okozza-e az összetevő válaszának leállítását:
Csatlakozzon a futó DevTest Labs-tesztkörnyezeti virtuális géphez.
Nyisson meg egy Fájlkezelő ablakot.
Nyissa meg azt a Letöltés mappát, amely a virtuális gép összetevő-telepítési szkriptjéhez tartozik, például C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Downloads\. Példa a CSE-verzióra>
1.10.12
.<A következő lépések végrehajtásához használhatja a szkriptet ebben a mappában, vagy átmásolhatja a szkriptet a virtuális gép egyik működő mappájába.
Nyisson meg egy parancssori ablakot rendszergazdai jogosultságokkal a virtuális gépen.
Futtassa az összetevő telepítési parancsfájlját a Parancssor ablakban.
Kövesse a szkriptre vonatkozó utasításokat, és adja meg a szükséges paraméterértékeket. Annak vizsgálatához, hogy a felhasználói bevitel hiánya vagy a késleltetett felhasználói művelet okoz-e problémát, próbálja meg reprodukálni az adott viselkedést.
Állapítsa meg, hogy a szkript nem várt vagy problémás viselkedést mutat-e.
Szükség esetén javítsa ki a szkriptet a tesztkörnyezet virtuális gépén, és futtassa újra a szkriptet a problémák megoldásának megerősítéséhez.
Összetevő szerkezetének ellenőrzése
Az egyéni összetevőknek megfelelő struktúrával kell rendelkezniük. Győződjön meg arról, hogy az összetevő telepítési szkriptjében szereplő egyéni összetevők a megfelelő struktúrát implementálják. Az alábbi források az ellenőrzés elvégzéséhez nyújtanak segítséget:
- Az összetevők helyes felépítéséről további információt az Egyéni összetevők létrehozása című témakörben talál.
- Egy megfelelően strukturált összetevőre példa: a Paramétertípusok tesztelése összetevő.
- Az összetevő-szkriptek írásával és javításával kapcsolatos további információkért lásd: AUTHORING.
Szkriptfrissítés kérése
A DevTest Labs nyilvános adattárában üzemeltetett összetevőkhöz javasolt szkriptkorrekciókat küldhet. További részletekért tekintse meg a README dokumentum Hozzájárulások szakaszát.
Támogatás kérése
Ha további segítségre van szüksége, próbálkozzon az alábbi támogatási csatornák egyikével:
Az Azure DevTest Labs szolgáltatással és a Stack Overflow-bejegyzésekkel kapcsolatos információkért keresse meg a Microsoft Közösségi webhely erőforrásait.
Csatlakozzon @AzureSupport, a hivatalos Microsoft Azure-fiókhoz az ügyfélélmény javítása érdekében. Az Azure-támogatás összekapcsolja az Azure-közösséget a válaszokhoz, a támogatáshoz és a szakértőkhöz.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: