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 összes újonnan létrehozott App Service-alkalmazás létrehozhat egy egyedi alapértelmezett gazdagépnevet az elnevezési konvencióval <app-name>-<random-hash>.<region>.azurewebsites.net
. A meglévő alkalmazásnevek változatlanok maradnak.
Példa: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
További részletekért tekintse meg az App Service-erőforrás egyedi alapértelmezett gazdagépnevét.
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 új, integrált naplózási funkció is rendelkezésre áll az Azure Monitoring használatával. 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 | Hely | 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 annál nagyobb HTTP-kódú 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 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érelemhez létrejön egy mappa, amely tartalmazza az XML-naplófájlt, valamint az XSL stíluslapot, amellyel megtekintheti a naplófájlt. |
Ü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. Java, PHP, Node.js, 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/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 információkért tekintse meg 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 sorrenden kívüli eseményeket eredményezhet 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
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övette 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 legegyszerűbb módszer 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.
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, majd 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. Ezek az információk olvashatók szövegszerkesztővel vagy olyan segédprogrammal, 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 új Azure Monitor-integrációval diagnosztikai beállításokat hozhat létre, hogy naplókat küldjön a tárfiókokba, az Event Hubsba és a Log Analyticsbe. 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
Az alábbi táblázat a támogatott naplótípusokat és leírásokat mutatja be:
Napló neve | Eseménynapló típusa | Windows | Windows-tároló | Linux | Linux-tároló | Leírás |
---|---|---|---|---|---|---|
App Service-konzolnaplók | AppServiceConsoleLogs | Java SE > Tomcat | Igen | Igen | Igen | Standard kimenet és 3. standard hiba |
HTTP-naplók | AppServiceHTTPLogs | Igen | Igen | Igen | Igen | Webkiszolgálói naplók |
App Service Environment platformnaplók | AppServiceEnvironmentPlatformLogs | Igen | n/a | Igen | Igen | App Service Environment: skálázás, konfigurációmódosítások és állapotnaplók |
Naplózási naplók elérése | AppServiceAuditLogs | Igen | Igen | Igen | Igen | Bejelentkezési tevékenység FTP-en és Kudu-on keresztül |
Webhely tartalomváltozási naplói | AppServiceFileAuditLogs | Igen | Igen | TBA | TBA | A webhely tartalmának fájlmódosításai; csak prémium szintű és annál magasabb szinten érhető el |
App Service-alkalmazásnaplók | AppServiceAppLogs | ASP.NET, .NET Core, & Tomcat 1 | ASP.NET > Tomcat 1 | .NET Core, Java, SE > Tomcat Áldott képek 2 | Java SE & Tomcat Áldott képek 2 | Alkalmazásnaplók 3 |
IPSecurity auditnaplók | AppServiceIPSecAuditLogs | Igen | Igen | Igen | Igen | IP-szabályok kérései |
App Service Platform-naplók | AppServicePlatformLogs | TBA | Igen | Igen | Igen | Tárolóműveleti naplók |
Víruskereső naplózási naplóinak jelentése | AppServiceAntivirusScanAuditLogs 4 | Igen | Igen | Igen | Igen | Víruskeresési naplók Felhőhöz készült Microsoft Defender; csak prémium szintű szinten érhető el |
1 Tomcat-alkalmazások esetén adja hozzá TOMCAT_USE_STARTUP_BAT
az alkalmazás beállításait, és állítsa be a következőre false
: vagy 0
. A Legújabb Tomcat-verzióra van szükség, és a java.util.naplózást kell használnia.
2 Java SE-alkalmazások esetén adja hozzá WEBSITE_AZMON_PREVIEW_ENABLED
az alkalmazás beállításait, és állítsa be a következőre vagy a következőre true
1
: .
3 Az aktuális naplózási korlát percenként 100 naplóra van beállítva.
4 Az AppServiceAntivirusScanAuditLogs naplótípus jelenleg előzetes verzióban van
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.
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: