A munkafolyamatok hibáinak elhárítása és diagnosztizálása az Azure Logic Appsben

A következőkre vonatkozik: Azure Logic Apps (Fogyasztás + Standard)

A logikai alkalmazás munkafolyamata olyan információkat hoz létre, amelyek segíthetnek az alkalmazás problémáinak diagnosztizálásában és hibakeresésében. A munkafolyamat diagnosztizálását úgy végezheti el, hogy áttekinti a munkafolyamat egyes lépéseihez tartozó bemeneteket, kimeneteket és egyéb információkat az Azure Portal használatával. Vagy hozzáadhat néhány lépést egy munkafolyamathoz futásidejű hibakereséshez.

Eseményindító előzményeinek ellenőrzése

Minden munkafolyamat-futtatás egy eseményindítóval kezdődik, amely ütemezés szerint aktiválódik, vagy egy bejövő kérésre vagy eseményre vár. Az eseményindító előzményei felsorolják a munkafolyamat által végrehajtott összes eseményindító-kísérletet, valamint az egyes eseményindító-kísérletek bemeneteiről és kimeneteiről szóló információkat. Ha az eseményindító nem aktiválódik, próbálkozzon az alábbi lépésekkel.

  1. Ha ellenőrizni szeretné az eseményindító állapotát a Használat logikai alkalmazásban, tekintse át a munkafolyamat eseményindító-előzményeit. Az eseményindító-kísérlettel kapcsolatos további információk megtekintéséhez válassza ki az eseményindító eseményt, például:

    Képernyőkép az Azure Portalról a Használat logikai alkalmazás munkafolyamat-eseményindítóinak előzményeivel.

  2. Ellenőrizze az indító mechanizmus bemeneteit, hogy a várt módon jelenjenek meg. Az Előzmények panel Bemenetek hivatkozása területén válassza ki a hivatkozást, amely a Bemenetek panelt jeleníti meg.

    Az eseményindító bemenetei tartalmazzák azokat az adatokat, amelyeket az eseményindító elvár, és amelyek szükségesek a munkafolyamat elindításához. Ezeknek a bemeneteknek az áttekintésével megállapíthatja, hogy az eseményindító bemenetei helyesek-e, és hogy teljesült-e a feltétel, hogy a munkafolyamat folytatható legyen.

    Képernyőkép a Fogyasztás logikai alkalmazás munkafolyamatának eseményindító bemeneteiről.

  3. Ellenőrizze az eseményindító kimeneteit, ha vannak ilyenek, és ellenőrizze, hogy a várt módon jelennek-e meg. Az Előzmények panel Kimenetek hivatkozása területén válassza ki a hivatkozást, amely a Kimenetek panelt jeleníti meg.

    Az eseményindító kimenetei tartalmazzák azokat az adatokat, amelyeket az eseményindító a munkafolyamat következő lépésére továbbít. A kimenetek áttekintése segíthet annak meghatározásában, hogy a helyes vagy várt értékek a munkafolyamat következő lépésének adhatók-e át.

    Egy hibaüzenet például azt jelzi, hogy az RSS-hírcsatorna nem található:

    Képernyőkép a fogyasztási logikai alkalmazás munkafolyamatának eseményindítói kimeneteiről.

    Tipp.

    Ha olyan tartalmat talál, amelyet nem ismer fel, többet is megtudhat az Azure Logic Apps különböző tartalomtípusairól.

Munkafolyamat futtatási előzményeinek ellenőrzése

Minden alkalommal, amikor az eseményindító aktiválódik, az Azure Logic Apps létrehoz egy munkafolyamat-példányt, és futtatja azt. Ha egy futtatás sikertelen, próbálkozzon az alábbi lépésekkel, hogy áttekinthesse, mi történt a futtatás során. A munkafolyamat minden lépéséhez áttekintheti az állapotot, a bemeneteket és a kimeneteket.

  1. Ha ellenőrizni szeretné a munkafolyamat futtatási állapotát a Használat logikai alkalmazásban, tekintse át a munkafolyamat futtatási előzményeit. Ha további információt szeretne megtekinteni a sikertelen futtatásról, beleértve az abban futtatott összes lépést azok állapotával együtt, válassza ki a sikertelen futtatást.

    Képernyőkép az Azure Portalról, amelyen a Fogyasztási logikai alkalmazás munkafolyamata látható, és egy sikertelen futás van kiválasztva.

  2. Miután a futtatás során minden lépés megjelenik, jelölje ki az egyes lépéseket az alakzatok kibontásához.

    A Consumption logikai alkalmazás munkamenetét bemutató képernyőkép a kijelölt sikertelen lépésről.

  3. Tekintse át a sikertelen lépés bemeneteit, kimeneteit és hibaüzeneteit.

    Képernyőkép a Fogyasztás logikai alkalmazás munkafolyamatáról a sikertelen lépés részleteivel.

    Az alábbi képernyőképen például a sikertelen RSS-művelet kimenetei láthatók.

    Képernyőkép a Consumption logic app munkafolyamatról sikertelen lépéskimenetekkel.

Futtatókörnyezet hibakeresésének végrehajtása

A hibakereséshez diagnosztikai lépéseket adhat hozzá egy logikai alkalmazás munkafolyamatához, valamint áttekintheti az eseményindítót és a futtatási előzményeket. Hozzáadhat például olyan lépéseket, amelyek a Webhook Tester szolgáltatást használják, így megvizsgálhatja a HTTP-kérelmeket, és meghatározhatja azok pontos méretét, alakját és formátumát.

  1. Egy böngészőben nyissa meg a Webhook Tester webhelyet, és másolja ki a létrehozott egyedi URL-címet.

  2. A logikai alkalmazásban adjon hozzá egy HTTP POST műveletet a tesztelni kívánt törzstartalommal, például egy kifejezéssel vagy egy másik lépés kimenetével.

  3. Illessze be az URL-címet a Webhook Testerből a HTTP POST műveletbe.

  4. Annak áttekintéséhez, hogy az Azure Logic Apps hogyan hoz létre és alakít ki kérést, futtassa a logikai alkalmazás munkafolyamatát. Ezután további információkért tekintse meg újra a Webhook Tester webhelyet.

Gyakori kérdések

Miért hosszabb a munkafolyamat futási időtartama, mint az összes munkafolyamat-művelet időtartama?

A műveletek futtatásakor az ütemezés többletterhelést okoz, míg a műveletek közötti várakozási idő a háttérrendszer terhelése miatt fordulhat elő. A munkafolyamat-futtatás időtartama magában foglalja ezeket az ütemezési és várakozási időket, valamint az összes művelet időtartamának összegét.

A munkafolyamat általában 10 másodpercen belül befejeződik. Néha azonban a befejezés hosszabb időt is igénybe vehet. Hogyan biztosítható, hogy a munkafolyamat mindig 10 másodpercen belül befejeződjön?

  • A késésre nem létezik szolgáltatásiszint-szerződési (SLA-) garancia.

  • A használati munkafolyamatok több-bérlős Azure Logic Apps-alkalmazásokon futnak, így más ügyfelek számítási feladatai negatívan befolyásolhatják a munkafolyamat teljesítményét.

  • A kiszámíthatóbb teljesítmény érdekében érdemes megfontolni a standard munkafolyamatok létrehozását egybérlős Azure Logic Apps (Standard) környezetben. Jobban tudja szabályozni a felskálázást vagy a kiszélesítést a teljesítmény javítása érdekében.

A műveletem két perc után időtúllépésbe kerül. Hogyan növelhető az időtúllépési érték?

A művelet időtúllépési értéke nem módosítható, és 2 percben van rögzítve. Ha a HTTP-műveletet használja, és ön a HTTP-művelet által hívott szolgáltatás tulajdonosa, módosíthatja a szolgáltatást, hogy elkerülje a 2 perces időtúllépést az aszinkron minta használatával. További információ: Hosszú ideig futó feladatok végrehajtása a lekérdezési műveletmintával.

A gazdamemóriám a Azure Logic Apps (Standard) üzenetfeldolgozása után is magas szinten marad. Lehet, hogy memóriavesztés?

A megnövekedett memóriahasználat nem mindig jelent memóriavesztést. A tényleges memóriaszivárgás során a memóriahasználat hasonló forgalmi terhelés mellett növekszik, amíg a rendszer memóriahiány miatti kivétellel össze nem omlik. Megfigyelheti ezt a mintát, amely ismétlődik.

Azure Logic Apps (Standard) .NET kiszolgálói szemétgyűjtéssel (GC) fut, amely az átviteli sebességre van optimalizálva, nem pedig minimális memóriaigényre. Ez a szemétgyűjtési folyamat megtartja a felügyelt halomszegmenseket a jövőbeli lefoglaláshoz, és nem adja vissza őket az operációs rendszernek. A memória órákig vagy akár napokig is megemelkedhet a feldolgozási ciklusok közötti inaktív időszakokban.

Gyakori problémák – Standard logikai alkalmazások

Elérhetetlen összetevők az Azure Storage-fiókban

A standard logikai alkalmazások az összes összetevőt egy Azure Storage-fiókban tárolják. A következő hibaüzenetek jelenhetnek meg, ha ezek az összetevők nem érhetők el. Előfordulhat például, hogy maga a tárfiók nem érhető el, vagy a tárfiók tűzfal mögött van, de nincs beállítva privát végpont a tárolási szolgáltatások használatához.

Az Azure Portal helye Hiba
Áttekintő panel - System.private.corelib:A 'C:\home\site\wwwroot\host.json' elérési úthoz való hozzáférés megtagadva

- Azure.Storage.Blobs: Ez a kérés nem jogosult a művelet végrehajtására
Munkafolyamatok panel - A gazdagép futtatókörnyezete nem érhető el. Hiba részletei: Kód: "BadRequest", Üzenet: "Hiba történt (InternalServerError) a gazdagép futtatókörnyezetéből eredően."

- A gazdagép futtatókörnyezete nem érhető el. Hiba részletei, Kód: "BadRequest", Üzenet: "Hiba történt (ServiceUnavailable) a gazdagép futtatókörnyezetéből."

- A gazdagép futtatókörnyezete nem érhető el. Hiba részletei, Kód: "BadRequest", Üzenet: "Hiba történt (BadGateway) a gazdagép futtatókörnyezetéből."
Munkafolyamat létrehozása és végrehajtása során - Nem sikerült menteni a munkafolyamatot

- Hiba a tervezőben: GetCallFailed. Sikertelen beolvasási műveletek

- Az ajaxExtended hívás sikertelen

Hibaelhárítási lehetőségek

Az alábbi lista a hibák lehetséges okait és a hibaelhárítást segítő lépéseket tartalmazza.

  • Nyilvános tárfiók esetén ellenőrizze a tárfiókhoz való hozzáférést a következő módokon:

    Ha a kapcsolat meghiúsul, ellenőrizze, hogy a kapcsolati sztringben lévő megosztott hozzáférési aláírás (SAS) kulcs a legújabb-e.

    Fontos

    Ha bizalmas információi vannak, például a felhasználóneveket és jelszavakat tartalmazó kapcsolati sztring, ügyeljen arra, hogy az elérhető legbiztonságosabb hitelesítési folyamatot használja. A Standard logikai alkalmazás munkafolyamataiban például nem támogatott a biztonságos adattípus, mint például securestring és secureobject. A Microsoft azt javasolja, hogy ha lehetséges, hitelesítse az Azure-erőforrásokhoz való hozzáférést felügyelt identitással , és rendeljen hozzá egy olyan szerepkört, amely a legkevésbé szükséges jogosultsággal rendelkezik.

    Ha ez a képesség nem érhető el, győződjön meg arról, hogy a kapcsolati láncokat egyéb intézkedésekkel, például az Azure Key Vault használatával biztonságossá teszi, amelyet az alkalmazás beállításokkal együtt használhat. Ezután közvetlenül hivatkozhat biztonságos sztringekre, például kapcsolati sztring és kulcsokra. Az ARM-sablonokhoz hasonlóan, ahol az üzembe helyezéskor definiálhat környezeti változókat, az alkalmazásbeállításokat a logikai alkalmazás munkafolyamat-definíciójában határozhatja meg. Ezután rögzítheti a dinamikusan létrehozott infrastruktúra-értékeket, például a kapcsolati végpontokat, a tárolási sztringeket stb. További információ: Alkalmazástípusok a Microsoft Identitásplatform.

  • Tűzfal mögötti tárfiók esetén ellenőrizze a tárfiókhoz való hozzáférést az alábbi módokon:

    • Ha a tárfiókon engedélyezve vannak a tűzfalkorlátozások, ellenőrizze, hogy a privát végpontok be vannak-e állítva a blob-, fájl-, tábla- és üzenetsor-tárolási szolgáltatásokhoz.

    • Ellenőrizze a tárfiók kapcsolatát az Azure Storage Explorer használatával.

    Ha csatlakozási problémákat tapasztal, folytassa a következő lépésekkel:

    1. Ugyanabban a virtuális hálózatban, amely integrálva van a logikai alkalmazással, hozzon létre egy Azure-beli virtuális gépet, amelyet egy másik alhálózatba helyezhet.

    2. Futtassa a parancssorból a nslookup parancsot annak ellenőrzésére, hogy a Blob-, a Fájl-, a Tábla- és a Soros tárolási szolgáltatások megfelelnek-e a várt IP-címeknek.

      Szintaxis: nslookup [StorageaccountHostName] [OptionalDNSServer]

      Blob: nslookup {StorageaccountName}.blob.core.windows.net

      Fájl: nslookup {StorageaccountName}.file.core.windows.net

      Asztal: nslookup {StorageaccountName}.table.core.windows.net

      Sor: nslookup {StorageaccountName}.queue.core.windows.net

      • Ha a tárolási szolgáltatás rendelkezik szolgáltatásvégponttal, a szolgáltatás nyilvános IP-címre oldódik fel.

      • Ha a tárolási szolgáltatásnak van egy privát végpontja , a szolgáltatás a megfelelő hálózati vezérlő (NIC) privát IP-címére oldódik fel.

    3. Ha az előző tartománynév-kiszolgálói (DNS-) lekérdezések sikeresen feloldódnak, futtassa a psping parancsokat a tcpping tárfiókhoz való kapcsolódás ellenőrzéséhez a 443-as porton keresztül:

      Szintaxis: psping [StorageaccountHostName] [Port] [OptionalDNSServer]

      Blob: psping {StorageaccountName}.blob.core.windows.net:443

      Fájl: psping {StorageaccountName}.file.core.windows.net:443

      Asztal: psping {StorageaccountName}.table.core.windows.net:443

      Sor: psping {StorageaccountName}.queue.core.windows.net:443

    4. Ha minden tárolási szolgáltatás feloldható az Azure-beli virtuális gépről, keresse meg a virtuális gép által a megoldáshoz használt DNS-t.

      1. Állítsa be a logikai alkalmazás WEBSITE_DNS_SERVER alkalmazásbeállítását a DNS-hez, és győződjön meg arról, hogy a DNS sikeresen működik.

      2. Győződjön meg arról, hogy a virtuális hálózat integrációja megfelelően van beállítva a standard logikai alkalmazás megfelelő virtuális hálózatával és alhálózatával.

    5. Ha privát Azure DNS-zónákat használ a tárfiók privát végpontszolgáltatásaihoz, ellenőrizze, hogy létrejött-e virtuális hálózati kapcsolat a logikai alkalmazás integrált virtuális hálózatához.

További információ: Standard logikai alkalmazás üzembe helyezése tűzfal mögötti tárfiókon szolgáltatás vagy privát végpontok használatával.