Diagnostische logboekregistratie inschakelen voor apps in Azure App Service

In deze video ziet u hoe u diagnostische logboekregistratie voor apps inschakelt.

De stappen in de video worden ook beschreven in de volgende secties.

Overzicht

Azure biedt ingebouwde diagnostische gegevens voor hulp bij het opsporen van fouten in een App Service-app. In dit artikel leert u hoe u diagnostische logboekregistratie inschakelt en instrumentatie toevoegt aan uw toepassing, en hoe u toegang krijgt tot de gegevens die zijn vastgelegd door Azure.

In dit artikel worden Azure Portal en Azure CLI gebruikt om te werken met diagnostische logboeken. Zie Problemen met Azure in Visual Studio oplossen voor meer informatie over het werken met diagnostische logboeken met Visual Studio.

Notitie

Naast de instructies voor logboekregistratie in dit artikel is er een nieuwe, geïntegreerde mogelijkheid voor logboekregistratie met Azure Monitoring. Meer informatie over deze mogelijkheid vindt u in de sectie Logboeken verzenden naar Azure Monitor .

Type Platform Locatie Beschrijving
Toepassingslogboeken Windows, Linux App Service-bestandssysteem en/of Azure Storage-blobs Registreert berichten die zijn gegenereerd door uw toepassingscode. 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 en Traceren. U kunt selecteren hoe uitgebreid de logboekregistratie moet zijn door het ernstniveau in te stellen wanneer u toepassingslogboekregistratie inschakelt.
Webserverlogboeken Windows 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, antwoordcode, enzovoort.
Gedetailleerde foutberichten Windows App Service-bestandssysteem Kopieën van de .htm foutpagina's die naar de clientbrowser zouden zijn verzonden. Om veiligheidsredenen mogen gedetailleerde foutpagina's niet worden verzonden naar clients in productie, maar App Service kan de foutpagina opslaan telkens wanneer een toepassingsfout optreedt met HTTP-code 400 of hoger. De pagina kan informatie bevatten die kan helpen bepalen waarom de server de foutcode retourneert.
Tracering van mislukte aanvragen Windows 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. Het is handig als u de siteprestaties wilt verbeteren of een specifieke HTTP-fout wilt isoleren. Er wordt één map gegenereerd voor elke mislukte aanvraag, die het XML-logboekbestand bevat en het XSL-opmaakmodel waarmee het logboekbestand wordt weergegeven.
Logboekregistratie van implementatie Windows, Linux App Service-bestandssysteem Registreert voor wanneer u inhoud 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 zijn opgeslagen in het App Service-bestandssysteem, zijn ze onderhevig aan de beschikbare opslag voor uw prijscategorie (zie App Service-limieten).

Notitie

App Service biedt een speciaal hulpprogramma voor interactieve diagnostische gegevens waarmee u problemen met uw toepassing kunt oplossen. Zie Azure-app Overzicht van diagnostische gegevens van de service voor meer informatie.

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

Toepassingslogboekregistratie inschakelen (Windows)

Als u toepassingslogboeken wilt inschakelen voor Windows-apps in Azure Portal, gaat u naar uw app en selecteert u App Service-logboeken.

Selecteer Aan voor toepassingslogboekregistratie (bestandssysteem) of toepassingslogboeken (blob) of beide.

De optie Bestandssysteem is bedoeld voor tijdelijke foutopsporing en schakelt zichzelf in 12 uur uit. De optie Blob is bedoeld voor logboekregistratie op lange termijn en heeft een Blob Storage-container nodig om logboeken naar te schrijven. De optie Blob bevat ook aanvullende informatie in de logboekberichten, zoals de id van het oorspronkelijke VM-exemplaar van het logboekbericht (), thread-id (InstanceIdTid) en een gedetailleerdere tijdstempel (EventTickCount).

Notitie

Momenteel kunnen alleen .NET-toepassingslogboeken naar de blobopslag worden geschreven. Java, PHP, Node.js, Python-toepassingslogboeken kunnen alleen worden opgeslagen in het App Service-bestandssysteem (zonder codewijzigingen voor het schrijven van logboeken naar externe opslag).

Als u de toegangssleutels van uw opslagaccount opnieuw genereert, moet u ook de respectieve configuratie voor logboekregistratie opnieuw instellen om de bijgewerkte toegangssleutels te gebruiken. Dit doet u als volgt:

  1. Stel op het tabblad Configureren de desbetreffende functie voor logboekregistratie in op Uit. Sla uw instelling op.
  2. Schakel logboekregistratie opnieuw in voor de blob van het opslagaccount. Sla uw instelling op.

Selecteer het niveau of 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
Uitgebreide Tracering, foutopsporing, info, waarschuwing, fout, kritiek (alle categorieën)

Selecteer Opslaan wanneer u klaar bent.

Notitie

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.

Toepassingslogboekregistratie inschakelen (Linux/Container)

Als u toepassingslogboeken wilt inschakelen voor Linux-apps of aangepaste containers in Azure Portal, gaat u naar uw app en selecteert u App Service-logboeken.

Selecteer Bestandssysteem in logboekregistratie van toepassingen.

Geef in Quota (MB) het schijfquotum op voor de toepassingslogboeken. Stel in de bewaarperiode (dagen) het aantal dagen in dat de logboeken moeten worden bewaard.

Selecteer Opslaan wanneer u klaar bent.

Logboekregistratie van webservers inschakelen

Als u logboekregistratie van webservers wilt inschakelen voor Windows-apps in Azure Portal, gaat u naar uw app en selecteert u App Service-logboeken.

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

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

Notitie

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

  1. Stel op het tabblad Configureren de desbetreffende functie voor logboekregistratie in op Uit. Sla uw instelling op.
  2. Schakel logboekregistratie opnieuw in voor de blob van het opslagaccount. Sla uw instelling op.

Selecteer Opslaan wanneer u klaar bent.

Notitie

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.

Gedetailleerde fouten in logboeken

Als u de foutpagina of mislukte tracering van aanvragen voor Windows-apps in Azure Portal wilt opslaan, gaat u naar uw app en selecteert u App Service-logboeken.

Selecteer Aan onder Gedetailleerde foutlogboekregistratie of Tracering van mislukte aanvragen en selecteer Vervolgens Opslaan.

Beide typen logboeken worden opgeslagen in het App Service-bestandssysteem. Maximaal 50 fouten (bestanden/mappen) worden bewaard. Wanneer het aantal HTML-bestanden groter is dan 50, worden de oudste foutbestanden automatisch verwijderd.

Met de functie Tracering 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, kunt u de <traceFailedRequests> sectie in het web.config-bestand overschrijven.

Logboekberichten toevoegen in code

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

Logboeken streamen

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

Notitie

Sommige typen logboekregistratiebuffer schrijven naar het logboekbestand, wat kan leiden tot niet-volgorde-gebeurtenissen in de stream. 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.

In Azure Portal

Als u logboeken wilt streamen in Azure Portal, gaat u naar uw app en selecteert u Log stream.

In Cloud Shell

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

Belangrijk

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

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

Als u specifieke logboektypen, zoals HTTP, wilt filteren, gebruikt u de parameter --Provider . Voorbeeld:

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

In lokale terminal

Als u logboeken wilt streamen in de lokale console, installeert u Azure CLI en meldt u zich aan bij uw account. Nadat u zich hebt 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 Azure Storage-clienthulpprogramma's voor meer informatie.

Voor logboeken die zijn opgeslagen in het App Service-bestandssysteem, is de eenvoudigste manier om het ZIP-bestand te downloaden in de browser op:

  • Linux/aangepaste containers: https://<app-name>.scm.azurewebsites.net/api/logs/docker/zip
  • Windows-apps: https://<app-name>.scm.azurewebsites.net/api/dump

Voor Linux-/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 map /home/LogFiles .

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

Logboektype Directory Beschrijving
Toepassingslogboeken /LogFiles/Application/ Bevat een of meer tekstbestanden. De indeling van de logboekberichten is afhankelijk van de logboekprovider die u gebruikt.
Traceringen van mislukte aanvragen /LogFiles/W3SVC#########/ Bevat XML-bestanden en een XSL-bestand. U kunt de opgemaakte XML-bestanden weergeven in de browser.
Gedetailleerde foutenlogboeken /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 door naar uw app-pagina in de portal te navigeren. Selecteer in het linkermenu Diagnose en los problemen op, zoek naar logboeken voor tracering van mislukte aanvragen en klik vervolgens op het pictogram om door de gewenste tracering te bladeren en weer te geven.
Webserverlogboeken /LogFiles/http/RawLogs/ Bevat tekstbestanden die zijn opgemaakt met de uitgebreide W3C-logboekbestandsindeling. Deze informatie kan worden gelezen met behulp van een teksteditor of een hulpprogramma zoals Logboekparser.
App Service biedt geen ondersteuning voor de s-computernamevelden of s-ipcs-version velden.
Implementatielogboeken /LogFiles/Git/ en /deployments/ Bevat logboeken die worden gegenereerd door de interne implementatieprocessen, evenals logboeken voor Git-implementaties.

Logboeken verzenden naar Azure Monitor

Met de nieuwe Azure Monitor-integratie kunt u diagnostische Instellingen maken om logboeken te verzenden naar opslagaccounts, Event Hubs en Log Analytics.

Diagnostische instellingen

Ondersteunde logboektypen

In de volgende tabel ziet u de ondersteunde logboektypen en beschrijvingen:

Naam van logboek Logboektype Windows Windows-container Linux Linux-container Beschrijving
App Service-consolelogboeken AppServiceConsoleLogs Java SE & Tomcat Ja Ja Ja Standaarduitvoer en standaardfout 3
HTTP-logboeken AppServiceHTTPLogs Ja Ja Ja Ja Webserverlogboeken
App Service Environment Platform-logboeken AppServiceEnvironmentPlatformLogs Ja N.v.t. Ja Ja App Service-omgeving: schalen, configuratiewijzigingen en statuslogboeken
Auditlogboeken openen AppServiceAuditLogs Ja Ja Ja Ja Aanmeldingsactiviteit via FTP en Kudu
Auditlogboeken voor site-inhoudswijziging AppServiceFileAuditLogs Ja Ja TBA TBA Bestandswijzigingen die zijn aangebracht in de site-inhoud; alleen beschikbaar voor premium-laag en hoger
App Service-toepassingslogboeken AppServiceAppLogs ASP.NET, .NET Core, & Tomcat 1 ASP.NET & Tomcat 1 .NET Core, Java, SE & Tomcat Blessed Images 2 Java SE & Tomcat Gezegende afbeeldingen 2 Toepassingslogboeken 3
IPSecurity-auditlogboeken AppServiceIPSecAuditLogs Ja Ja Ja Ja Aanvragen van IP-regels
App Service Platform-logboeken AppServicePlatformLogs TBA Ja Ja Ja Logboeken voor containerbewerkingen
Auditlogboeken voor antivirusrapporten rapporteren AppServiceAntivirusScanAuditLogs 4 Ja Ja Ja Ja Antivirusscanlogboeken met Microsoft Defender voor Cloud; alleen beschikbaar voor Premium-laag

1 Voor Tomcat-apps voegt u de app-instellingen toe TOMCAT_USE_STARTUP_BAT en stelt u deze false in op of 0. Moet de nieuwste Tomcat-versie hebben en java.util.logging gebruiken.

2 Voor Java SE-apps voegt u deze toe WEBSITE_AZMON_PREVIEW_ENABLED aan de app-instellingen en stelt u deze true in op of op 1.

3 Huidige logboekregistratielimiet is ingesteld op 100 logboeken per minuut.

4 AppServiceAntivirusScanAuditLogs-logboektype is nog steeds in preview

Aandachtspunten voor netwerken

Raadpleeg de officiële documentatie voor diagnostische Instellingen met betrekking tot doellimieten voor diagnostische Instellingen.

Volgende stappen