Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure beépített diagnosztikát biztosít az Azure App Service-alkalmazások hibakereséséhez. Ebből a cikkből megtudhatja, hogyan engedélyezheti a diagnosztikai naplózást, és hogyan adhat hozzá rendszerállapotokat az alkalmazáshoz. Azt is megtudhatja, hogyan érheti el az Azure naplóinak adatait.
Note
2024. június 1-jétől az új App Service-alkalmazások kialakíthatnak egyedi alapértelmezett gazdagépnevet, amely az <app-name>-<random-hash>.<region>.azurewebsites.net
elnevezési konvenciót használja. Például: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
. A meglévő alkalmazásnevek változatlanok maradnak.
For more information, see the blog post about creating a web app with a unique default host name.
Ez a cikk az Azure Portalt és az Azure CLI-t használja a diagnosztikai naplók használatához. A diagnosztikai naplók Visual Studióval történő használatáról további információt az Azure App Service-ben a Visual Studióval végzett alkalmazás hibaelhárítása című témakörben talál.
A cikkben szereplő naplózási utasítások mellett használhatja az Azure Monitor integrált naplózási képességét is. További információ: Naplók küldése az Azure Monitorba.
Note
Az App Service dedikált, interaktív diagnosztikai eszközt biztosít az alkalmazás hibaelhárításához. További információ: Azure-alkalmazás Szolgáltatásdiagnosztika áttekintése.
Más Azure-szolgáltatásokat is használhat az alkalmazás naplózási és monitorozási képességeinek javítására, például az Azure Monitorra.
A naplózási típusok áttekintése
Type | Platform | Naplótároló helye | Leírás |
---|---|---|---|
Application logging | Windows, Linux | App Service-fájlrendszer és/vagy Azure Storage-blobok | Naplózza az alkalmazáskód által létrehozott üzeneteket. Az üzeneteket létrehozhatja a választott webes keretrendszer, vagy közvetlenül az alkalmazás kódjából a nyelv szabványos naplózási mintájának használatával. Minden üzenethez a következő kategóriák valamelyike tartozik: Kritikus, Hiba, Figyelmeztetés, Információ, Hibakeresés vagy Nyomkövetés. Az alkalmazásnaplózás engedélyezésekor megadhatja a naplózás részletességi szintjét a súlyossági szint beállításával. |
Webkiszolgálói naplózás | Windows | App Service-fájlrendszer vagy Azure Storage-blobok | Nyers HTTP-kérési adatok a W3C kiterjesztett naplófájlformátumában. Minden naplóüzenet olyan adatokat tartalmaz, mint a HTTP-módszer, az erőforrás URI-ja, az ügyfél IP-címe, az ügyfélport, a felhasználói ügynök és a válaszkód. |
Részletes hibaüzenetek | Windows | App Service fájlrendszer | Az ügyfélböngészőnek küldött .htm hibalapok másolatai. Biztonsági okokból a részletes hibaoldalakat nem szabad elküldeni a production környezetben lévő ügyfeleknek. Az App Service azonban mentheti a hibalapot minden alkalommal, amikor egy 400-os vagy újabb HTTP-kóddal rendelkező alkalmazáshiba lép fel. A lap tartalmazhat olyan információkat, amelyek segíthetnek meghatározni, hogy a kiszolgáló miért adja vissza a hibakódot. |
Sikertelen kérelemkövetés | Windows | App Service fájlrendszer | Részletes nyomkövetési információk a sikertelen kérelmekről, beleértve a kérelem feldolgozásához használt IIS-összetevők nyomkövetését és az egyes összetevőkben töltött időt. Ez az információ akkor hasznos, ha javítani szeretné a webhely teljesítményét, vagy egy adott HTTP-hibát szeretne elkülöníteni. Minden sikertelen kéréshez egy mappa jön létre. A mappa tartalmazza az XML-naplófájlt és a naplófájl megtekintéséhez szükséges XSL-stíluslapot. |
Üzembehelyezési naplózás | Windows, Linux | App Service fájlrendszer | Naplók, amikor tartalmat tesz közzé egy alkalmazásban. Az üzembe helyezés naplózása automatikusan történik, és nincsenek konfigurálható beállítások az üzembe helyezés naplózásához. Segít meghatározni, hogy miért hiúsult meg egy üzembe helyezés. Ha például egyéni üzembehelyezési szkriptet használ, az üzembe helyezés naplózásával állapíthatja meg, hogy miért hiúsul meg a szkript. |
Ha a naplók az App Service fájlrendszerben vannak tárolva, az ön tarifacsomagjának rendelkezésre álló tárhelye vonatkozik rájuk. További információ: App Service-korlátok.
Alkalmazásnaplózás engedélyezése (Windows)
A Windows-alkalmazások alkalmazásnaplózásának engedélyezése az Azure Portalon:
Nyissa meg az alkalmazást, és válassza azApp Service-naplók> lehetőséget.
Válassza a Be lehetőséget az alábbi lehetőségek egyikéhez vagy mindkettőhöz:
Alkalmazásnaplózás (fájlrendszer):Ez a beállítás ideiglenes hibakeresési célokra használható. 12 órán belül kikapcsolja magát.
Alkalmazásnaplózás (Blob):Ez a beállítás hosszú távú naplózásra használható. A naplók írásához blobtárolóra van szükség.
A Blob beállítás további információkat tartalmaz a naplóüzenetekben, például a naplóüzenet forrás virtuális gépének azonosítóját (
InstanceId
), a szálazonosítót (Tid
) és egy részletesebb időbélyeget (EventTickCount
).
A Szint beállításnál válassza ki a naplózni kívánt részletességi szintet. Az alábbi táblázat az egyes szintekhez tartozó naplókategóriákat mutatja be:
Level Belefoglalt kategóriák Disabled Egyik sem Error Error, Critical Figyelmeztetés Figyelmeztetés, hiba, kritikus Tájékoztatás Információ, Figyelmeztetés, Hiba, Kritikus Verbose Nyomkövetés, hibakeresés, információ, figyelmeztetés, hiba, kritikus (minden kategória) Válassza az Mentésgombot.
Ha naplókat ír a blobokra, a megőrzési szabályzat már nem érvényes, ha törli az alkalmazást, de a naplókat a blobokban tartja. További információ: Az erőforrás törlése után felmerülő költségek.
Jelenleg csak .NET-alkalmazásnaplók írhatók blobtárolóba. A Java-, PHP-, Node.js- és Python-alkalmazásnaplók csak az App Service fájlrendszerben tárolhatók kódmódosítások nélkül, hogy a naplókat külső tárolóba lehessen írni.
Ha újra létrehozza a tárfiók hozzáférési kulcsait, a frissített hozzáférési kulcsok használatához alaphelyzetbe kell állítania a megfelelő naplózási konfigurációt:
A Konfigurálás lapon állítsa be a megfelelő naplózási funkciót Kikapcsolva állapotba. Mentse a beállítást.
Engedélyezze ismét a tárfiók blobjára való naplózást. Mentse a beállítást.
Alkalmazásnaplózás engedélyezése (Linux vagy tároló)
Az alkalmazásnaplózás engedélyezése Linux-alkalmazásokhoz vagy egyéni tárolókhoz az Azure Portalon:
Nyissa meg az alkalmazást, és válassza azApp Service-naplók> lehetőséget.
Az alkalmazásnaplózásban válassza a Fájlrendszer lehetőséget.
A Kvóta (MB) mezőben adja meg az alkalmazásnaplók lemezkvótát.
A megőrzési időszakban (napokban) adja meg a naplók megőrzéséhez megadott napok számát.
Válassza az Mentésgombot.
Webkiszolgáló naplózásának engedélyezése
Webkiszolgáló-naplózás engedélyezése Windows-alkalmazásokhoz az Azure Portalon:
Nyissa meg az alkalmazást, és válassza azApp Service-naplók> lehetőséget.
Webkiszolgáló-naplózás esetén válassza a Storage lehetőséget a naplók blobtárolóban való tárolásához, vagy válassza a Fájlrendszer lehetőséget a naplók App Service-fájlrendszerben való tárolásához.
A megőrzési időszakban (napokban) adja meg a naplók megőrzéséhez megadott napok számát.
Válassza az Mentésgombot.
Ha naplókat ír a blobokra, a megőrzési szabályzat már nem érvényes, ha törli az alkalmazást, de a naplókat a blobokban tartja. További információ: Az erőforrás törlése után felmerülő költségek.
Ha újra létrehozza a tárfiók hozzáférési kulcsait, a frissített kulcsok használatához alaphelyzetbe kell állítania a megfelelő naplózási konfigurációt:
A Konfigurálás lapon állítsa be a megfelelő naplózási funkciót Kikapcsolva állapotba. Mentse a beállítást.
Engedélyezze ismét a tárfiók blobjára való naplózást. Mentse a beállítást.
Részletes hibák naplózása
A hibalap vagy a sikertelen kérések nyomkövetésének mentése Windows-alkalmazásokhoz az Azure Portalon:
Nyissa meg az alkalmazást, és válassza azApp Service-naplók> lehetőséget.
A Részletes hibaüzenetek vagy a Sikertelen kérések nyomkövetése csoportban válassza a Be lehetőséget.
Válassza az Mentésgombot.
Mindkét naplótípus az App Service fájlrendszerben van tárolva. Legfeljebb 50 hibát (fájlokat vagy mappákat) őriz meg. Ha a HTML-fájlok száma meghaladja az 50-et, az App Service törli a legrégebbi hibafájlokat.
A sikertelen kérelmek nyomkövetése alapértelmezés szerint rögzíti a 400 és 600 közötti HTTP-állapotkódokkal meghiúsult kérelmek naplóját. Egyéni szabályok megadásához a <traceFailedRequests>
fájl Web.config
szakaszát kell felülírni.
Naplóüzenetek hozzáadása kódban
Az alkalmazáskódban a szokásos naplózási eszközökkel küldhet naplóüzeneteket az alkalmazásnaplóknak. Példa:
ASP.NET alkalmazások a System.Diagnostics.Trace osztály használatával naplózhatják az adatokat az alkalmazás diagnosztikai naplójába. Példa:
System.Diagnostics.Trace.TraceError("If you're seeing this, something bad happened");
Alapértelmezés szerint ASP.NET Core a Microsoft.Extensions.Logging.AzureAppServices naplózási szolgáltatót használja. További információ: ASP.NET Core-naplózás az Azure-ban. A WebJobs SDK naplózásával kapcsolatos további információkért lásd az Azure WebJobs SDK használatának első lépéseit.
A Python-alkalmazások OpenTelemetria használatával küldhetnek naplókat az alkalmazás diagnosztikai naplójába. További információ: Az Azure Monitor OpenTelemetria engedélyezése.
Stream logs
Mielőtt valós időben streameli a naplókat, engedélyezze a kívánt naplótípust. Az App Service streameli a konzol kimenetére írt adatokat, illetve a címtárban /home/LogFiles
(D:\home\LogFiles
) tárolt .txt, .log vagy .htm végződő fájlokat.
Note
A naplózási pufferek bizonyos típusai a naplófájlba írnak, ami azt okozhatja, hogy az események helytelen sorrendben jelennek meg a streamben. Például egy alkalmazásnapló-bejegyzés, amely akkor fordul elő, amikor egy felhasználó meglátogat egy lapot, megjelenhet a streamben az oldalkérés megfelelő HTTP-naplóbejegyzése előtt.
Azure Portal
Ha naplókat szeretne streamelni az Azure Portalon, nyissa meg az alkalmazást, és válassza a Figyelési>naplóstream lehetőséget.
Cloud Shell
Ha élőben szeretné streamelni a naplókat az Azure Cloud Shellben, használja az alábbi parancsot.
Fontos
Előfordulhat, hogy ez a parancs nem működik Linux-alapú App Service-csomagban üzemeltetett webalkalmazásokkal.
az webapp log tail --name appname --resource-group myResourceGroup
Adott naplótípusok( például HTTP) szűréséhez használja a paramétert --provider
. Példa:
az webapp log tail --name appname --resource-group myResourceGroup --provider http
Helyi terminál
Ha naplókat szeretne streamelni a helyi konzolon, telepítse az Azure CLI-t , és jelentkezzen be a fiókjába. Miután bejelentkezett, kövesse a Cloud Shell utasításait.
Naplófájlok elérése
Ha egy naplótípushoz konfigurálja az Azure Storage-blobok beállítását, szüksége lesz egy olyan ügyféleszközre, amely az Azure Storage-ral működik. További információ: Microsoft-ügyféleszközök az Azure Storage használatához.
Az App Service fájlrendszerben tárolt naplók esetében a fájlok elérésének legegyszerűbb módja a ZIP-fájl letöltése a böngészőben a következő címen:
- Linux vagy egyéni tárolók:
https://<app-name>.scm.azurewebsites.net/api/logs/docker/zip
- Windows-alkalmazások:
https://<app-name>.scm.azurewebsites.net/api/dump
Linux vagy egyéni tárolók esetén a ZIP-fájl a Docker-gazdagép és a Docker-tároló konzolkimeneti naplóit is tartalmazza. A kibővített alkalmazások esetében a ZIP-fájl minden példányhoz egy-egy naplót tartalmaz. Az App Service fájlrendszerében ezek a naplófájlok a könyvtár tartalmát /home/LogFiles
képezik. Az üzembehelyezési naplók tárolása a következő helyen /site/deployments/
történik: .
Windows-alkalmazások esetén a ZIP-fájl tartalmazza az D:\Home\LogFiles
App Service fájlrendszer könyvtárának tartalmát. A következő struktúrával rendelkezik:
Eseménynapló típusa | Címtár | Leírás |
---|---|---|
Alkalmazásnapló | /LogFiles/Application/ |
Egy vagy több szövegfájlt tartalmaz. A naplóüzenetek formátuma a használt naplózási szolgáltatótól függ. |
Sikertelen kérelem nyomkövetése | /LogFiles/W3SVC#########/ |
XML-fájlokat és XSL-fájlt tartalmaz. A formázott XML-fájlokat a böngészőben tekintheti meg. |
Részletes hibanapló | /LogFiles/DetailedErrors/ |
HTM-hibafájlokat tartalmaz. A HTM-fájlokat a böngészőben tekintheti meg. A sikertelen kérelmek nyomkövetési adatainak megtekintésének másik módja az alkalmazáslap megnyitása a portálon. A bal oldali menüben válassza a Diagnosztizálás és a problémák megoldása lehetőséget. Keresse meg a sikertelen kérelmek nyomkövetési naplóit, majd kattintson az ikonra a kívánt nyomkövetés tallózásához és megtekintéséhez. |
Webkiszolgáló naplója | /LogFiles/http/RawLogs/ |
A W3C kiterjesztett naplófájlformátumával formázott szövegfájlokat tartalmaz. Ezeket a fájlokat egy szövegszerkesztővel vagy egy olyan eszközzel olvashatja el, mint a Log Parser. Az App Service nem támogatja a s-computername , s-ip és cs-version mezőket. |
Üzembehelyezési napló |
/LogFiles/Git/ és /deployments/ |
A belső üzembehelyezési folyamatok által létrehozott naplókat, valamint a Git telepítések naplóit tartalmazza. |
Naplók küldése az Azure Monitorba
Az Azure Monitor-integrációvaldiagnosztikai beállításokat hozhat létre a naplók tárfiókokba, eseményközpontokba és Log Analytics-munkaterületekre való küldéséhez. Diagnosztikai beállítás hozzáadásakor az App Service alkalmazásbeállításokat ad hozzá az alkalmazáshoz, ami elindítja az alkalmazás újraindítását.
Támogatott naplótípusok
A támogatott naplótípusok és azok leírásaiért lásd a Microsoft.Web támogatott erőforrásnaplóit.
Hálózati szempontok
A diagnosztikai beállítások korlátozásairól további információt a Célkorlátok című témakörben talál.