Megosztás a következőn keresztül:


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:

  1. 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:

    Képernyőkép a DevTest Labs virtuális gép futásának megerősítéséről.

  2. Válassza az Összetevők lehetőséget, és nyissa meg a tesztkörnyezeti virtuális gép összetevőlistáját:

    Képernyőkép a labor virtuális gép Összetevők listájának megnyitásáról.

  3. 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:

    Képernyőkép az összetevők DevTest Labs virtuális gépre való alkalmazásának megerősítéséről.

    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:

    Képernyőkép arról az üzenetről, amely azt mutatja, hogy az összetevők nem alkalmazhatók a DevTest Labs virtuális gépre.

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:

  1. Keresse meg a tesztkörnyezeti virtuális gép Összetevők listaoldalát, és válassza ki a Sikertelen állapotú összetevőt :

    Képernyőkép a tesztkörnyezeti virtuális gép sikertelen összetevőjének megkereséséről és kiválasztásáról.

  2. 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:

    Képernyőkép a sikertelen összetevő részleteiről, beleértve az üzembe helyezéssel és a bővítmény üzenetével kapcsolatos információkat.

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:

  1. Keresse meg a tesztkörnyezet virtuális gép tevékenységnaplójának lapjára, és keresse meg a sikertelen állapotú összetevőt :

    Képernyőkép, amely bemutatja, hogyan keresheti meg egy sikertelen összetevő tevékenységnapló-bejegyzését a tesztkörnyezeti virtuális gépen.

  2. 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:

    Képernyőkép, amely bemutatja, hogyan tekintheti meg a sikertelen összetevők tevékenységnapló-bejegyzésének részleteit.

  3. 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:

    Képernyőkép a sikertelen összetevők tevékenységnapló-bejegyzésének JSON-adatainak megtekintéséről.

Ö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:

  1. 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.

  2. Ellenőrizze az összes NSG-szabályt:

  3. 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>#.

    1. 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.

    2. A diagramon keresse meg azt a Tárfiókot, amelynek neve megegyezik a leírt elnevezési konvencióval. a<labname>#

    3. 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:

      Képernyőkép a DevTest Labs-laborerőforrás tárfiókjának Nézet lehetőségének kiválasztásáról.

    4. 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:

      Képernyőkép a DevTest Labs-laborerőforrás tárfiókjának hálózati konfigurációjáról.

    5. 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:

      1. 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:

        Képernyőkép a kiválasztott virtuális hálózatokról és a laborerőforrás-tárfiók IP-címeinek kiválasztásáról.

      2. Ellenkező esetben ellenőrizze, hogy az összes hálózat engedélyezve van-e:

        Képernyőkép a laborerőforrás-tárfiók összes kiválasztott hálózatának Engedélyezett eleméről.

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:

  1. Csatlakozzon a futó DevTest Labs-tesztkörnyezeti virtuális géphez.

  2. 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.<

    Képernyőkép a DevTest Labshoz készült Windows rendszerű virtuális gépek Állapot mappájának tartalmáról.

  3. 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:

  1. Csatlakozzon a futó DevTest Labs-tesztkörnyezeti virtuális géphez.

  2. 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.

  3. Nyissa meg a WaAppAgent.log fájlt.

  4. 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:

  1. Csatlakozzon a futó DevTest Labs-tesztkörnyezeti virtuális géphez.

  2. Nyisson meg egy Fájlkezelő ablakot.

  3. 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.

  4. Nyisson meg egy parancssori ablakot rendszergazdai jogosultságokkal a virtuális gépen.

  5. 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.

  6. Állapítsa meg, hogy a szkript nem várt vagy problémás viselkedést mutat-e.

  7. 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:

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.