Összetevők DevTest Labs virtuális gépeken való alkalmazásával kapcsolatos problémák elhárítása

Ez a cikk végigvezeti az Azure DevTest Labs virtuális gépeken (virtuális gépeken) előforduló összetevők 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 a virtuális gépek létrehozása során vagy után telepíthet tesztkörnyezeti virtuális gépekre. A tesztkörnyezet tulajdonosai előre kijelölhetik a kötelező összetevőket , amelyek a létrehozáskor az összes tesztkörnyezeti virtuális gépre vonatkoznak, a tesztkörnyezet felhasználói pedig a saját virtuális gépeikre alkalmazhatják az összetevőket .

Számos oka lehet annak, ha az összetevők telepítése vagy futtatása nem sikerül. Ha úgy tűnik, hogy egy összetevő nem válaszol, először próbálja meg megállapítani, hogy hol ragadt. Az összetevő telepítése blokkolható a kezdeti kérés során, vagy meghiúsulhat a kérés végrehajtása során.

Az összetevők hibáit a Azure Portal vagy azon a virtuális gépen háríthatja el, ahol az összetevő meghibásodott.

A Azure Portal összetevőhibáinak elhárítása

Ha nem tud összetevőt alkalmazni egy virtuális gépre, először ellenőrizze a következő elemeket a Azure Portal:

  • Győződjön meg arról, hogy a virtuális gép fut.
  • Lépjen a tesztkörnyezeti virtuális gép Artifacts (Összetevők ) lapjára, és győződjön meg arról, hogy a virtuális gép készen áll az összetevők alkalmazására. Ha az Összetevők alkalmazása funkció nem érhető el, a lap tetején megjelenik egy üzenet.

PowerShell-parancs használata

A Azure PowerShell segítségével azt is megállapíthatja, hogy a virtuális gép alkalmazhat-e összetevőket. Vizsgálja meg a jelölőt canApplyArtifacts, amely a művelet kibontásakor GET lesz visszaadva. Például:

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

A sikertelen összetevő vizsgálata

Egy összetevő nem válaszol, és végül Sikertelenként jelenik meg. A sikertelen összetevők vizsgálata:

  1. A tesztkörnyezet Áttekintés lapján, a Saját virtuális gépek listából válassza ki azt a virtuális gépet, amely a vizsgálni kívánt összetevőt tartalmazza.

  2. A virtuális gép áttekintési oldalán válassza az Összetevők elemet a bal oldali navigációs sávon. Az Összetevők lap felsorolja a virtuális géphez társított összetevőket és azok állapotát.

    Képernyőkép az összetevők listájáról és állapotáról.

  3. Válassza ki a Sikertelen állapotot megjelenítő összetevőt . Az összetevő megnyílik egy bővítményüzenettel, amely tartalmazza az összetevő hibájával kapcsolatos részleteket.

    Képernyőkép egy meghiúsult összetevő hibaüzenetéről.

A 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 egy hiba jelenik meg az előfizetés tevékenységnaplóiban és a virtuális gép erőforráscsoportjában.

Ha egy összetevő telepítése nem sikerült, vizsgálja meg a Tevékenységnapló bejegyzéseit a Virtuális gép létrehozása vagy frissítése bővítménynél, ha közvetlenül alkalmazta az összetevőt, vagy virtuális gép létrehozása vagy frissítése, ha az összetevőt a virtuális gép létrehozása során alkalmazták. Keresse meg a hibákat ezekben a bejegyzésekben. Néha ki kell bontania a bejegyzést a hiba megtekintéséhez.

Válassza ki a sikertelen bejegyzést a hiba részleteinek megtekintéséhez. A hiba oldalán válassza a JSON lehetőséget a JSON hasznos adat tartalmának áttekintéséhez. A hiba a JSON-dokumentum végén jelenik meg.

A privát összetevő-adattár és a tesztkörnyezet tárfiókjának vizsgálata

Amikor a DevTest Labs alkalmaz egy összetevőt, beolvassa az összetevő konfigurációját és a csatlakoztatott adattárakból származó fájlokat. Alapértelmezés szerint a DevTest Labs hozzáfér a DevTest Labs nyilvános Artifact-adattárhoz. A tesztkörnyezetet privát adattárhoz is csatlakoztathatja az egyéni összetevők eléréséhez. 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 lesz felsorolva, és az adott adattárból származó összetevőkre hivatkozó szkriptek meghiúsulnak.

A konfigurációtól függően előfordulhat, hogy a tesztkörnyezet virtuális gépei nem rendelkeznek közvetlen hozzáféréssel az összetevő-adattárhoz. A DevTest Labs gyorsítótárazza az összetevőket egy tesztkörnyezet tárfiókjában, amely a tesztkörnyezet első inicializálásakor jön létre. Ha a tárfiókhoz való hozzáférés le van tiltva, például ha a virtuális gépről az Azure Storage szolgáltatásba irányuló forgalom le van tiltva, az alábbihoz 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.

Ez a hiba a virtuális gép erőforráscsoportjának tevékenységnaplójában jelenik meg.

Az Azure Storage-fiókhoz való kapcsolódási problémák elhárítása:

  • Ellenőrizze, hogy van-e hozzáadott hálózati biztonsági csoport (NSG). Ha egy előfizetési szabályzat hozzáadva az NSG-k automatikus konfigurálásához az összes virtuális hálózatban, az hatással lenne a tesztkörnyezeti virtuális gépek létrehozásához használt virtuális hálózatra.

  • Ellenőrizze az NSG-szabályokat. Az IP-forgalom ellenőrzésével állapítsa meg, hogy egy NSG-szabály blokkolja-e a virtuális gép felé vagy onnan érkező forgalmat. Az érvényes biztonságicsoport-szabályokat is áttekintheti, hogy létezik-e bejövő 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 tesztkörnyezet 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 egy többjegyű számmal végződik, például labname<>#.

    1. Lépjen a tesztkörnyezet erőforráscsoportjára.
    2. Keresse meg a Storage-fiók típusú erőforrást, amelynek a neve megegyezik a konvencióval.
    3. A tárfiók áttekintési oldalán válassza a hálózatkezelés lehetőséget a bal oldali navigációs sávon.
    4. A Tűzfalak és virtuális hálózatok lapon győződjön meg arról, hogy a nyilvános hálózati hozzáférésengedélyezve van az összes hálózatból. Vagy ha az Engedélyezve a kiválasztott virtuális hálózatokról és IP-címekről beállítás van kiválasztva, győződjön meg arról, hogy a tesztkörnyezet virtuális gépek létrehozásához használt virtuális hálózatai fel vannak véve a listára.

Részletes hibaelhárításért lásd: Azure Storage-tűzfalak és virtuális hálózatok konfigurálása.

A tesztkörnyezeti virtuális gép összetevőhibáinak elhárítása

Csatlakozhat ahhoz a tesztkörnyezeti virtuális géphez, ahol az összetevő meghibásodott, és ott kivizsgálhatja a problémát.

Az egyéni szkriptbővítmény naplófájljának vizsgálata

  1. A tesztkörnyezet virtuális gépén lépjen a C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\*1.10.12*\Status\ helyre, ahol *1.10.12* a CSE verziószáma.

    Képernyőkép az Állapot mappáról a tesztkörnyezet V M-en.

  2. Nyissa meg és vizsgálja meg a STATUS fájlt a hiba megtekintéséhez.

A naplófájlok Linux rendszerű virtuális gépeken való megkeresésére vonatkozó utasításokért lásd : Az Azure Custom Script Extension 2. verziójának használata Linux rendszerű virtuális gépekkel.

Ellenőrizze a virtuálisgép-ügynököt

Győződjön meg arról, hogy az Azure-beli virtuálisgép-ügynök (VM-ügynök) telepítve van és készen áll.

Amikor a 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 virtuális gépnek frissítenie kell a virtuálisgép-ügynököt, vagy várnia kell a virtuálisgép-ügynök inicializálására. A virtuálisgép-ügynök olyan szolgáltatásoktól függhet, amelyek inicializálása hosszú időt vesz igénybe. További hibaelhárításért lásd: Az Azure-beli virtuálisgép-ügynök áttekintése.

Annak ellenőrzése, hogy az összetevő nem válaszolt-e a virtuálisgép-ügynök miatt:

  1. A tesztkörnyezet virtuális gépén lépjen a C:\WindowsAzure\logs lapra.

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

  3. Keresse meg azokat a bejegyzéseket, amelyek a virtuálisgép-ügynök elindítását, az inicializálás befejezését és az első elküldött szívverést mutatják az összetevő problémájának megjelenése körü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.
    

Az előző példában a virtuálisgép-ügynök indítása 10 percet és 20 másodpercet vett igénybe. Ennek oka az volt, hogy az OOBE szolgáltatás elindítása hosszú időt vett igénybe.

Az Azure-bővítményekkel kapcsolatos általános információkért lásd: Azure-beli virtuálisgép-bővítmények és -funkciók.

Szkriptproblémák kivizsgálása

Az összetevő telepítése meghiúsulhat az összetevő telepítési szkriptjének létrehozási módja miatt. Például:

  • A szkript kötelező paraméterekkel rendelkezik, de nem ad át egy értéket, ha engedélyezi a felhasználónak, hogy üresen hagyja, vagy mert nincs alapértelmezett érték az artifactfile.json definíciós fájlban. A szkript nem válaszol, mert felhasználói bevitelre vár.

  • A szkript végrehajtásához felhasználói bevitelre van szükség. A szkripteknek felhasználói beavatkozás nélkül, csendesen kell működnie.

Annak hibaelhárítása, hogy a szkript okozza-e, hogy az összetevő ne válaszoljon:

  1. Másolja a szkriptet a virtuális gépre, vagy keresse meg a virtuális gépen a C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.10.12\Downloads összetevő-szkript letöltési helyén.
  2. Rendszergazdai parancssor használatával futtassa a szkriptet a virtuális gépen, és adja meg ugyanazokat a paraméterértékeket, amelyek a problémát okozták.
  3. Állapítsa meg, hogy a szkript nem kívánt viselkedést mutat-e. Ha igen, kérjen frissítést, vagy javítsa ki a szkriptet.

Tipp

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.

Megjegyzés

Az egyéni összetevőknek a megfelelő struktúrával kell rendelkezniük. 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. A megfelelően strukturált összetevőre a Paramétertípusok tesztelése összetevőben talál példát.

Az összetevő-szkriptek írásával és javításával kapcsolatos további információkért lásd: SZERZŐI MŰVELETEK.

Következő lépések

Ha további segítségre van szüksége, próbálkozzon az alábbi támogatási csatornák egyikével:

  • Lépjen kapcsolatba a Azure DevTest Labs szakértőkkel az MSDN Azure és a Stack Overflow fórumokon.
  • Azure-szakértők válaszolnak az Azure Fórumain keresztül.
  • Az ügyfélélmény javításához csatlakozzon @AzureSupport, a hivatalos Microsoft Azure-fiókhoz. 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.
  • Nyissa meg a Azure-támogatás webhelyet, és válassza a Támogatási jegy elküldése lehetőséget egy Azure-támogatás incidens elküldéséhez.