Alkalmazások diagnosztikai célú naplózásának engedélyezése az Azure App Service-ben

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:

  1. A Konfigurálás lapon állítsa ki a megfelelő naplózási funkciót. Mentse a beállítást.
  2. 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
Részletes 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:

  1. A Konfigurálás lapon állítsa ki a megfelelő naplózási funkciót. Mentse a beállítást.
  2. 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:

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-ipvagy cs-version a s-computernamemező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 Gépház hozhat létre, amellyel naplókat küldhet a tárfiókokba, az Event Hubsba és a Log Analyticsbe.

Diagnosztikai beállítások

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 Standard kiadás > 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, Standard kiadás & Tomcat Áldott képek 2 Java Standard kiadás & 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-Standard kiadás-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 true1: .

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 Gépház korlátozásaiért tekintse meg a hivatalos diagnosztikai Gépház dokumentációt a célkorlátokkal kapcsolatban.

Következő lépések