Delen via


Diagnostische logboekregistratie inschakelen voor apps in Azure App Service

Azure biedt ingebouwde diagnostische gegevens voor het opsporen van fouten in een Azure App Service-app. In dit artikel leert u hoe u diagnostische logboekregistratie inschakelt en instrumentatie toevoegt aan uw toepassing. U leert ook hoe u toegang krijgt tot de informatie die azure registreert.

In dit artikel worden Azure Portal en de Azure CLI gebruikt om te werken met diagnostische logboeken. Zie Problemen met een app in Azure App Service oplossen met behulp van Visual Studio voor meer informatie over het werken met diagnostische logboeken met behulp van Visual Studio.

Naast de instructies voor logboekregistratie in dit artikel kunt u de geïntegreerde logboekregistratiefunctie van Azure Monitor gebruiken. Zie Logboeken verzenden naar Azure Monitor voor meer informatie.

Notitie

App Service biedt een speciaal, interactief diagnostisch hulpprogramma waarmee u problemen met uw toepassing kunt oplossen. Zie het overzicht van diagnostische gegevens van Azure App Service voor meer informatie.

U kunt ook andere Azure-services gebruiken om de mogelijkheden voor logboekregistratie en bewaking van uw app, zoals Azure Monitor, te verbeteren.

Overzicht van logboekregistratietypen

Typologie Platvorm Opslaglocatie voor logboeken Beschrijving
Toepassingslogboeken Windows, Linux App Service-bestandssysteem en/of Azure Storage-blobs Logboekberichten die door uw toepassingscode worden gegenereerd. De berichten kunnen worden gegenereerd door het webframework dat u kiest of rechtstreeks vanuit uw toepassingscode met behulp van het standaardregistratiepatroon van uw taal. Aan elk bericht wordt een van de volgende categorieën toegewezen: Kritiek, Fout, Waarschuwing, Info, Fouten opsporen of Traceren. U kunt selecteren hoe uitgebreid de logboekregistratie moet zijn door het ernstniveau in te stellen bij het inschakelen van het toepassingslogboek.
Webserverlogboeken Ramen App Service-bestandssysteem of Azure Storage-blobs Onbewerkte HTTP-aanvraaggegevens in de uitgebreide W3C-logboekbestandsindeling. Elk logboekbericht bevat gegevens zoals de HTTP-methode, resource-URI, client-IP, clientpoort, gebruikersagent en antwoordcode.
Gedetailleerde foutberichten Ramen App Service-bestandssysteem Kopieën van de .htm foutpagina's die naar de clientbrowser zouden zijn verzonden. Om veiligheidsredenen mogen gedetailleerde foutpagina's niet naar clients in productie worden verzonden. App Service kan echter de foutpagina opslaan telkens wanneer een toepassingsfout met HTTP-code 400 of hoger optreedt. De pagina bevat mogelijk informatie die kan helpen bepalen waarom de server de foutcode retourneert.
Tracering van mislukte aanvragen Ramen App Service-bestandssysteem Gedetailleerde traceringsinformatie over mislukte aanvragen, inclusief een tracering van de IIS-onderdelen die worden gebruikt voor het verwerken van de aanvraag en de tijd die in elk onderdeel is genomen. Deze informatie is handig als u de siteprestaties wilt verbeteren of een specifieke HTTP-fout wilt isoleren. Er wordt één map gegenereerd voor elke mislukte aanvraag. De map bevat het XML-logboekbestand en het XSL-opmaakmodel voor het weergeven van het logboekbestand.
Logboekregistratie van implementatie Windows, Linux App Service-bestandssysteem Logboeken voor wanneer u content naar een app publiceert. Implementatielogboeken worden automatisch uitgevoerd en er zijn geen configureerbare instellingen voor implementatielogboekregistratie. Hiermee kunt u bepalen waarom een implementatie is mislukt. Als u bijvoorbeeld een aangepast implementatiescript gebruikt, kunt u implementatielogboekregistratie gebruiken om te bepalen waarom het script mislukt.

Wanneer logboeken worden opgeslagen in het App Service-bestandssysteem, zijn ze onderhevig aan de beschikbare opslag voor uw prijscategorie. Zie App Service-limieten voor meer informatie.

Toepassingslogboekregistratie inschakelen (Windows)

Toepassingslogboeken inschakelen voor Windows-apps in Azure Portal:

  1. Ga naar je app en selecteer Bewaken>App Service-logboeken.

  2. Selecteer Aan voor een of beide van deze opties:

    • Toepassingslogboeken (bestandssysteem):deze optie is bedoeld voor tijdelijke foutopsporing. Het schakelt zichzelf in 12 uur uit.

    • Toepassingslogboeken (Blob):deze optie is bedoeld voor logboekregistratie op lange termijn. Er is een Blob Storage-container nodig om logboeken naar te schrijven.

      De optie Blob bevat aanvullende informatie in de logboekberichten, zoals de id van het exemplaar van de virtuele oorspronkelijke machine van het logboekbericht (), de thread-id (InstanceIdTid) en een gedetailleerdere tijdstempel (EventTickCount).

  3. Selecteer voor Niveau het detailniveau dat moet worden vastgelegd. In de volgende tabel ziet u de logboekcategorieën die zijn opgenomen in elk niveau:

    Niveau Opgenomen categorieën
    Uitgeschakeld Geen
    Fout Fout, Kritiek
    Waarschuwing Waarschuwing, fout, kritiek
    Informatie Info, waarschuwing, fout, kritiek
    Uitvoerig Tracering, foutopsporing, info, waarschuwing, fout, kritiek (alle categorieën)
  4. Selecteer Opslaan.

Als u logboeken naar blobs schrijft, is het bewaarbeleid niet meer van toepassing als u de app verwijdert, maar de logboeken in de blobs bewaart. Zie Kosten die na het verwijderen van resources kunnen oplopen voor meer informatie.

Op dit moment kunnen alleen .NET-toepassingslogboeken naar blobopslag worden geschreven. Java-, PHP-, Node.js- en Python-toepassingslogboeken kunnen alleen worden opgeslagen in het App Service-bestandssysteem zonder codewijzigingen om logboeken naar externe opslag te schrijven.

Als u de toegangssleutels van uw opslagaccount opnieuw genereert, moet u de respectieve configuratie voor logboekregistratie opnieuw instellen om de bijgewerkte toegangssleutels te gebruiken:

  1. Stel op het tabblad Configureren de desbetreffende functie voor logboekregistratie in op Uit. Sla uw instelling op.

  2. Schakel opnieuw logboekregistratie in voor de blob van het opslagaccount. Sla uw instelling op.

Toepassingslogboekregistratie inschakelen (Linux of container)

Toepassingslogboeken inschakelen voor Linux-apps of aangepaste containers in Azure Portal:

  1. Ga naar je app en selecteer Bewaken>App Service-logboeken.

  2. Selecteer Bestandssysteem in logboekregistratie van toepassingen.

  3. Geef in Quota (MB) het schijfquotum op voor de toepassingslogboeken.

  4. Stel in de bewaarperiode (dagen) het aantal dagen in dat de logboeken moeten worden bewaard.

  5. Selecteer Opslaan.

Logboekregistratie van webservers inschakelen

Ga als volgende te werk om logboekregistratie van webservers in te schakelen voor Windows-apps in Azure Portal:

  1. Ga naar je app en selecteer Bewaken>App Service-logboeken.

  2. Voor logboekregistratie van webservers selecteert u Opslag voor het opslaan van logboeken in blobopslag of selecteert u Bestandssysteem voor het opslaan van logboeken in het App Service-bestandssysteem.

  3. Stel in de bewaarperiode (dagen) het aantal dagen in dat de logboeken moeten worden bewaard.

  4. Selecteer Opslaan.

Als u logboeken naar blobs schrijft, is het bewaarbeleid niet meer van toepassing als u de app verwijdert, maar de logboeken in de blobs bewaart. Zie Kosten die na het verwijderen van resources kunnen oplopen voor meer informatie.

Als u de toegangssleutels van uw opslagaccount opnieuw genereert, moet u de respectieve configuratie voor logboekregistratie opnieuw instellen om de bijgewerkte sleutels te gebruiken:

  1. Stel op het tabblad Configureren de desbetreffende functie voor logboekregistratie in op Uit. Sla uw instelling op.

  2. Schakel opnieuw logboekregistratie in voor de blob van het opslagaccount. Sla uw instelling op.

Gedetailleerde fouten registreren

Ga als volgt te werk om de foutpagina of mislukte aanvraagtraceringen voor Windows-apps op te slaan in Azure Portal:

  1. Ga naar je app en selecteer Bewaken>App Service-logboeken.

  2. Selecteer Aan onder Gedetailleerde foutberichten of Tracering van mislukte aanvragen.

  3. Selecteer Opslaan.

Beide typen logboeken worden opgeslagen in het App Service-bestandssysteem. Er worden maximaal 50 fouten (bestanden of mappen) bewaard. Wanneer het aantal HTML-bestanden groter is dan 50, verwijdert App Service de oudste foutbestanden.

Bij het traceren van mislukte aanvragen wordt standaard een logboek vastgelegd van aanvragen die zijn mislukt met HTTP-statuscodes tussen 400 en 600. Als u aangepaste regels wilt opgeven, overschrijft u de <traceFailedRequests> sectie in het Web.config bestand.

Logboekberichten toevoegen in code

In uw toepassingscode kunt u de gebruikelijke logboekregistratiefaciliteiten gebruiken om logboekberichten naar de toepassingslogboeken te verzenden. Voorbeeld:

Logbestanden streamen

Voordat u logboeken in realtime streamt, schakelt u het gewenste logboektype in. App Service streamt alle informatie die naar de console-uitvoer of bestanden wordt geschreven die eindigen op .txt, .log of .htm die zijn opgeslagen in de /home/LogFiles map (D:\home\LogFiles).

Notitie

Sommige typen logboekbuffers schrijven naar het logboekbestand, wat ertoe kan leiden dat gebeurtenissen in de onjuiste volgorde in de stream worden weergegeven. Een toepassingslogboekvermelding die optreedt wanneer een gebruiker een pagina bezoekt, kan bijvoorbeeld worden weergegeven in de stream voordat de bijbehorende HTTP-logboekvermelding voor de paginaaanvraag wordt weergegeven.

Azure Portal

Als u logboeken wilt streamen in Azure Portal, gaat u naar uw app en selecteert u de bewakingslogboekstream>.

Cloud Shell

Als u logboeken live wilt streamen in Azure Cloud Shell, gebruikt u de volgende opdracht.

Belangrijk

Deze opdracht werkt mogelijk niet met web-apps die worden gehost in een Op Linux gebaseerd App Service-plan.

az webapp log tail --name appname --resource-group myResourceGroup

Gebruik de --provider parameter om specifieke logboektypen, zoals HTTP, te filteren. Voorbeeld:

az webapp log tail --name appname --resource-group myResourceGroup --provider http

Lokale terminal

Als u logboeken wilt streamen in de lokale console, installeert u de Azure CLI en meldt u zich aan bij uw account. Nadat u bent aangemeld, volgt u de instructies voor Cloud Shell.

Toegang tot logboekbestanden

Als u de optie Azure Storage-blobs configureert voor een logboektype, hebt u een clienthulpprogramma nodig dat werkt met Azure Storage. Zie Microsoft-clienthulpprogramma's voor het werken met Azure Storage voor meer informatie.

Voor logboeken die zijn opgeslagen in het App Service-bestandssysteem, opent u deze met behulp van de Kudu-engine.

  1. Open uw app in de Azure portal en selecteer Ontwikkelhulpmiddelen>Geavanceerde hulpmiddelen, selecteer vervolgens Ga.
  2. In Kudu, selecteert u Hulpprogramma's>Diagnostische dump.

Voor Linux- of aangepaste containers bevat het ZIP-bestand consoleuitvoerlogboeken voor zowel de Docker-host als de Docker-container. Voor een uitgeschaalde app bevat het ZIP-bestand één set logboeken voor elk exemplaar. In het App Service-bestandssysteem zijn deze logboekbestanden de inhoud van de /home/LogFiles map. Implementatielogboeken worden opgeslagen in /site/deployments/.

Voor Windows-apps bevat het ZIP-bestand de inhoud van de D:\Home\LogFiles map in het App Service-bestandssysteem. Het heeft de volgende structuur:

Logboektype Adreslijst Beschrijving
Toepassingslogboek /LogFiles/Application/ Bevat een of meer tekstbestanden. De indeling van de logboekberichten is afhankelijk van de logboekprovider die u gebruikt.
Tracering van mislukte aanvraag /LogFiles/W3SVC#########/ Bevat XML-bestanden en een XSL-bestand. U kunt de opgemaakte XML-bestanden weergeven in de browser.
Gedetailleerd foutenlogboek /LogFiles/DetailedErrors/ Bevat HTM-foutbestanden. U kunt de HTM-bestanden in de browser bekijken.

Een andere manier om de traceringen van mislukte aanvragen weer te geven, is naar uw app-pagina in de portal te gaan. In het linkermenu selecteer je Diagnose en probleemoplossing. Zoek naar traceerlogboeken van mislukte aanvragen en selecteer vervolgens het pictogram om de gewenste trace weer te geven en te bekijken.
Webserverlogboek /LogFiles/http/RawLogs/ Bevat tekstbestanden die zijn opgemaakt met de uitgebreide W3C-logboekbestandsindeling. U kunt deze bestanden lezen met behulp van een teksteditor of een hulpprogramma zoals Logboekparser.

App Service biedt geen ondersteuning voor de s-computername, s-ipen cs-version velden.
Implementatielogboek /LogFiles/Git/ en /deployments/ Bevat logboeken die worden gegenereerd door de interne implementatieprocessen, samen met logboeken voor Git-implementaties.

Logboeken verzenden naar Azure Monitor

Met Azure Monitor-integratie kunt u diagnostische instellingen maken om logboeken te verzenden naar opslagaccounts, Event Hubs en Log Analytics-werkruimten. Wanneer u een diagnostische instelling toevoegt, voegt App Service app-instellingen toe aan uw app, waardoor een app opnieuw wordt gestart.

Schermopname van selecties voor het weergeven van diagnostische instellingen en het toevoegen van een diagnostische instelling.

Ondersteunde logboektypen

Zie Ondersteunde resourcelogboeken voor Microsoft.Web voor een lijst met ondersteunde logboektypen en de bijbehorende beschrijvingen.

Netwerkoverwegingen

Zie Doellimieten voor informatie over beperkingen voor diagnostische instellingen.

Verwante inhoud