Diagnostische registratie inschakelen
Er zijn ingebouwde diagnostische gegevens beschikbaar om u te helpen bij het opsporen van fouten in een App Service-app. In deze les 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 de volgende tabel ziet u de typen logboekregistratie, de ondersteunde platforms en waar de logboeken kunnen worden opgeslagen en zich kunnen bevinden voor toegang tot de informatie.
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 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. |
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 .html foutpagina's die naar de clientbrowser 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. |
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. 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 | Hiermee kunt u bepalen waarom een implementatie is mislukt. Implementatielogboeken worden automatisch uitgevoerd en er zijn geen configureerbare instellingen voor implementatielogboekregistratie. |
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.
Notitie
Als u de toegangssleutels van uw opslagaccount opnieuw genereert, moet u de respectieve configuratie voor logboekregistratie opnieuw instellen om de bijgewerkte toegangssleutels te gebruiken. Als u dit wilt doen, schakelt u de logboekregistratiefunctie uit en weer aan.
U kunt ook het niveau van details instellen dat in het logboek is opgenomen, zoals wordt weergegeven in de volgende tabel.
Niveau Opgenomen categorieën Uitgeschakeld Geen Fout Fout, Kritiek Waarschuwing Waarschuwing, fout, kritiek Informatie Info, waarschuwing, fout, kritiek Breedsprakig Tracering, foutopsporing, info, waarschuwing, fout, kritiek (alle categorieën) Selecteer Opslaan wanneer u klaar bent.
Toepassingslogboekregistratie inschakelen (Linux/Container)
Stel in App Service-logboeken de optie Toepassingslogboeken in op Bestandssysteem.
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
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.
Selecteer Opslaan wanneer u klaar bent.
Logboekberichten toevoegen in code
In uw toepassingscode gebruikt u de gebruikelijke logboekregistratiefaciliteiten om logboekberichten naar de toepassingslogboeken te verzenden. Voorbeeld:
ASP.NET toepassingen kunnen de
System.Diagnostics.Trace
klasse gebruiken om gegevens in het diagnostische logboek van de toepassing te registreren. Voorbeeld:C#System.Diagnostics.Trace.TraceError("If you're seeing this, something bad happened");
Standaard gebruikt ASP.NET Core de
Microsoft.Extensions.Logging.AzureAppServices
logboekregistratieprovider.Python-toepassingen kunnen het OpenCensus-pakket gebruiken om logboeken te verzenden naar het diagnostische logboek van de toepassing.
Logboeken streamen
Voordat u logboeken in realtime streamt, schakelt u het gewenste logboektype in. Alle informatie die naar bestanden wordt geschreven die eindigen op .txt, .log of .htm die zijn opgeslagen in de /LogFiles
map (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.
Azure Portal: als u logboeken wilt streamen in Azure Portal, gaat u naar uw app en selecteert u Log Stream.
Azure CLI: als u logboeken live wilt streamen in Cloud Shell, gebruikt u de volgende opdracht:
Bashaz webapp log tail --name appname --resource-group myResourceGroup
Lokale console: 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 Azure CLI.
Toegang tot logboekbestanden
Als u de optie Azure Storage-blobs configureert voor een logboektype, hebt u een clienthulpprogramma nodig dat werkt met Azure Storage.
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-/container-apps:
https://<app-name>.scm.azurewebsites.net/api/logs/docker/zip
- Windows-apps:
https://<app-name>.scm.azurewebsites.net/api/dump
Voor Linux-/container-apps 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 .