Alkalmazások diagnosztikai célú naplózásának engedélyezése az Azure App Service-ben
Feljegyzés
2024. június 1-től az újonnan létrehozott App Service-alkalmazások létrehozhatnak egy egyedi alapértelmezett gazdagépnevet, amely az elnevezési konvenciót <app-name>-<random-hash>.<region>.azurewebsites.net
használja. A meglévő alkalmazásnevek változatlanok maradnak. Példa:
myapp-ds27dh7271aah175.westus-01.azurewebsites.net
További információ: Az App Service-erőforrás egyedi alapértelmezett gazdagépneve.
Ez a videó bemutatja, hogyan engedélyezheti az alkalmazások diagnosztikai naplózását.
A videó lépéseit a következő szakaszokban is ismertetjük.
Áttekintés
Az Azure beépített diagnosztikát biztosít az 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, valamint hogyan férhet hozzá az Azure által naplózott adatokhoz.
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 való használatáról további információt az Azure Visual Studióban történő hibaelhárításában talál.
Feljegyzés
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. Erről a funkcióról a Naplók küldése az Azure Monitorba című szakaszban talál további tudnivalókat.
Típus | Platform | Naplótároló helye | Leírás |
---|---|---|---|
Alkalmazásnaplózás | Windows, Linux | App Service-fájlrendszer és/vagy Azure Storage-blobok | Naplózza az alkalmazáskód által létrehozott üzeneteket. Az üzeneteket a választott webes keretrendszer vagy az alkalmazás kódjából hozhatja létre közvetlenü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 és Nyomkövetés. Az alkalmazásnaplózás engedélyezésekor megadhatja, hogy milyen részletes legyen a naplózás. |
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, a válaszkód stb. |
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 az éles környezetben lévő ügyfeleknek, de az App Service minden alkalommal mentheti a hibalapot, 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 az XSL stíluslapot a naplófájl megtekintéséhez. |
Ü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. |
Az App Service fájlrendszerben tárolt naplókra a tarifacsomag rendelkezésre álló tárhelye vonatkozik (lásd az App Service korlátait).
Feljegyzés
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.
Emellett 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.
Alkalmazásnaplózás engedélyezése (Windows)
Ha engedélyezni szeretné az alkalmazásnaplózást a Windows-alkalmazásokhoz az Azure Portalon, lépjen az alkalmazáshoz, és válassza az App Service-naplók lehetőséget.
Válassza a Be lehetőséget az alkalmazásnaplózás ( fájlrendszer) vagy az alkalmazásnaplózás (Blob) vagy mindkettő esetében.
A Fájlrendszer beállítás ideiglenes hibakeresési célokra használható, és 12 órán belül kikapcsolja magát. A Blob lehetőség hosszú távú naplózásra használható, és blobtárolóra van szüksége a naplók írásához. A Blob beállítás további információkat is tartalmaz a naplóüzenetekben, például a naplóüzenet forrás virtuálisgép-példányának azonosítóját (InstanceId
), a szálazonosítót (Tid
) és egy részletesebb időbélyeget (EventTickCount
).
Feljegyzés
Jelenleg csak .NET-alkalmazásnaplók írhatók a blobtárolóba. A Java-, PHP-, Node.js- és Python-alkalmazásnaplók csak az App Service fájlrendszerében tárolhatók (kódmódosítások nélkül a naplók külső tárolóba való írásához).
Emellett 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. Megvalósítás:
- A Konfigurálás lapon állítsa ki a megfelelő naplózási funkciót. Mentse a beállítást.
- Engedélyezze ismét a tárfiók-blobba való naplózást. Mentse a beállítást.
Válassza ki a szint vagy a naplózandó részletek szintjét. Az alábbi táblázat az egyes szintekhez tartozó naplókategóriákat mutatja be:
Level | Belefoglalt kategóriák |
---|---|
Letiltva | Egyik sem |
Hiba | Hiba, kritikus |
Figyelmeztetés | Figyelmeztetés, hiba, kritikus |
Tájékoztatás | Információ, Figyelmeztetés, Hiba, Kritikus |
Bőbeszédű | Nyomkövetés, hibakeresés, információ, figyelmeztetés, hiba, kritikus (minden kategória) |
Ha végzett, válassza a Mentés lehetőséget.
Feljegyzés
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.
Alkalmazásnaplózás engedélyezése (Linux/Container)
Ha engedélyezni szeretné az alkalmazásnaplózást Linux-alkalmazásokhoz vagy egyéni tárolókhoz az Azure Portalon, keresse meg az alkalmazást, és válassza ki az App Service-naplókat.
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, hogy hány napig őrizze meg a naplókat.
Ha végzett, válassza a Mentés lehetőséget.
Webkiszolgáló naplózásának engedélyezése
Ha engedélyezni szeretné a webkiszolgálók naplózását a Windows-alkalmazásokhoz az Azure Portalon, lépjen az alkalmazáshoz, és válassza az App Service-naplók lehetőséget.
A webkiszolgáló-naplózáshoz válassza a Storage lehetőséget a naplók blobtárolóban való tárolásához, vagy a fájlrendszert az App Service fájlrendszer naplóinak tárolásához.
A megőrzési időszakban (napokban) adja meg, hogy hány napig őrizze meg a naplókat.
Feljegyzés
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. Megvalósítás:
- A Konfigurálás lapon állítsa ki a megfelelő naplózási funkciót. Mentse a beállítást.
- Engedélyezze ismét a tárfiók-blobba való naplózást. Mentse a beállítást.
Ha végzett, válassza a Mentés lehetőséget.
Feljegyzés
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.
Részletes hibák naplózása
Ha menteni szeretné a hibalapot vagy a sikertelen kéréskövetést a Windows-alkalmazásokhoz az Azure Portalon, keresse meg az alkalmazást, és válassza az App Service-naplók lehetőséget.
A Részletes hibanaplózás vagy a Sikertelen kérelemkövetés csoportban válassza a Be, majd a Mentés lehetőséget.
Mindkét naplótípus az App Service fájlrendszerben van tárolva. A rendszer legfeljebb 50 hibát (fájlokat vagy mappákat) őriz meg. Ha a HTML-fájlok száma meghaladja az 50-et, a rendszer automatikusan törli a legrégebbi hibafájlokat.
A Sikertelen kéréskövetés funkció 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 felülbírálhatja a <traceFailedRequests>
web.config fájl szakaszát.
Naplóüzenetek hozzáadása kódban
Az alkalmazáskódban a szokásos naplózási eszközökkel küld 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ásdiagnosztikai napló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 az OpenCensus csomag használatával naplókat küldhetnek az alkalmazásdiagnosztikai naplóba.
Naplók streamelése
Mielőtt valós időben streameli a naplókat, engedélyezze a kívánt naplótípust. A konzol kimenetére vagy .txt, .log vagy .htm végződő fájlokra írt, a /home/LogFiles könyvtárban (D:\home\LogFiles) tárolt adatokat az App Service streameli.
Feljegyzés
A naplózási puffer bizonyos típusai a naplófájlba írnak, ami azt eredményezheti, hogy az események helytelen sorrendben jelennek meg a streamben. Előfordulhat például, hogy 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.
Az Azure Portalon
Ha naplókat szeretne streamelni az Azure Portalon, lépjen az alkalmazáshoz, és válassza a Naplóstream lehetőséget.
A Cloud Shellben
Ha élőben szeretné streamelni a naplókat a Cloud Shellben, használja a következő parancsot:
Fontos
Ez a parancs nem feltétlenül működik Linux 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 --provider paramétert. Példa:
az webapp log tail --name appname --resource-group myResourceGroup --provider http
A helyi terminálban
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ó: Azure Storage Ügyféleszközök.
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/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/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 /home/LogFiles könyvtár tartalmát képezik. Az üzembehelyezési naplók tárolása a /site/deployments/ helyen történik.
Windows-alkalmazások esetén a ZIP-fájl tartalmazza a D:\Home\LogFiles könyvtár tartalmát az App Service fájlrendszerében. A következő struktúrával rendelkezik:
Eseménynapló típusa | Címtár | Leírás |
---|---|---|
Alkalmazásnaplók | /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érelemkövetések | /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ók | /LogFiles/DetailedErrors/ | HTM-hibafájlokat tartalmaz. A HTM-fájlokat a böngészőben tekintheti meg. A sikertelen kérések nyomkövetésének megtekintésének másik módja az alkalmazáslapra való navigálás a portálon. A bal oldali menüben válassza a Problémák diagnosztizálása és 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ói naplók | /LogFiles/http/RawLogs/ | A W3C kiterjesztett naplófájlformátummal formázott szövegfájlokat tartalmaz. Ezeket a fájlokat egy szövegszerkesztővel vagy egy olyan segédprogrammal olvashatja el, mint a Log Parser. Az App Service nem támogatja a , s-ip vagy cs-version a s-computername mezőket. |
Üzembehelyezési naplók | /LogFiles/Git/ és /deployments/ | A belső üzembehelyezési folyamatok által létrehozott naplókat, valamint a Git-üzemelő példányok naplóit tartalmazza. |
Naplók küldése az Azure Monitorba
Az Azure Monitor-integrációval diagnosztikai beállításokat hozhat létre a naplók tárfiókokba, eseményközpontokba és Log Analyticsbe 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ásokra vonatkozó korlátozásokért tekintse meg a diagnosztikai beállítások célkorlátokkal kapcsolatos hivatalos dokumentációját.