Delen via


Diagnostische gegevens van Windows Azure Platform as a Service (PaaS) berekenen

Wanneer u een probleem moet oplossen, is een van de belangrijkste dingen die u moet begrijpen welke diagnostische gegevens beschikbaar zijn. Als u niet weet waar u naar logboeken of andere diagnostische gegevens moet zoeken, moet u mogelijk naar de evaluatie-en-fout- of shotgun-benadering gaan om problemen op te lossen. Als u toegang hebt tot logboeken, hebt u een betere kans om een probleem te diagnosticeren, zelfs als dit niet binnen uw vakgebied valt.

In dit artikel worden de gegevens besproken die beschikbaar zijn in Azure PaaS-rekenomgevingen (Platform as a Service). Hierin wordt beschreven hoe u deze gegevens eenvoudig kunt verzamelen van een virtuele Windows PaaS-machine (VM).

De volgende secties bevatten de meest gebruikte gegevensbronnen wanneer u problemen in een Windows PaaS-VM oplost. De secties worden ruwweg gerangschikt op belang (de frequentie van het gebruik van het logboek om problemen vast te stellen).

Windows Azure-gebeurtenislogboeken

Windows Azure-gebeurtenislogboeken bevatten belangrijke diagnostische uitvoer van de Azure-runtime. In de logboeken worden gegevens vastgelegd over gebeurtenissen zoals de volgende:

  • Rol wordt gestart en gestopt
  • Opstarttaken
  • OnStart starten en stoppen
  • OnRun beginnen
  • Crashes
  • Recycleert

De Windows Azure-gebeurtenislogboeken weergeven:

  1. Zoek in het startmenu naar Logboeken en selecteer die app.

  2. Vouw in het navigatiedeelvenster Toepassingen en Services-logboeken uit en selecteer vervolgens Windows Azure.

Deze diagnostische bron helpt u bij het identificeren van de oorzaak van een aantal van de meest voorkomende problemen die verhinderen dat Azure-rollen correct worden gestart. Dit zijn onder andere opstarttaakfouten en vastlopen in OnStart of OnRun. Logboeken legt crashes vast in de Azure Runtime-hostprocessen waarmee de code van uw rolinvoerpunt (zoals WebRole.cs of WorkerRole.cs) wordt uitgevoerd, en worden aanroepstacks geboden.

Gebeurtenislogboeken van toepassingen

U kunt toepassingsgebeurtenislogboeken gebruiken voor standaardproblemen op zowel Azure- als on-premises servers. Mogelijk vindt u in deze logboeken vaak w3wp.exe-gerelateerde fouten.

Ga als volgende te werk om de gebeurtenislogboeken van de toepassing weer te geven:

  1. Zoek in het startmenu naar Logboeken en selecteer die app.

  2. Vouw In het navigatiedeelvenster Windows-logboeken uit en selecteer vervolgens Toepassing.

Runtimelogboeken van app-agent

Het runtimelogboek van de app-agent bevindt zich in C:\Logs\AppAgentRuntime.log en wordt geschreven door het WindowsAzureGuestAgent.exe uitvoerbare bestand. Het logboek bevat informatie over gebeurtenissen die plaatsvinden binnen de gastagent en de VM. Deze gebeurtenisinformatie omvat, maar is niet beperkt tot, de volgende categorieën:

  • Firewallconfiguratie
  • Wijzigingen in rolstatus
  • Recycleert
  • Herstart
  • Statuswijzigingen
  • Rol stopt en start
  • Certificaatconfiguratie

Dit logboek is handig om een kort overzicht te krijgen van de gebeurtenissen die zich in de loop van de tijd voordoen voor een rol. Dit komt doordat er belangrijke wijzigingen in de rol worden vastgelegd zonder heartbeats voor logboekregistratie. Als de gastagent de rol niet correct kan starten (bijvoorbeeld als een vergrendeld bestand het opschonen van mappen voorkomt), ziet u de gebeurtenis die in dit logboek is vastgelegd.

Heartbeatlogboeken van app-agent

Het heartbeatlogboek van de app-agent bevindt zich in C:\Logs\WaAppAgent.log en wordt geschreven door het WindowsAzureGuestAgent.exe uitvoerbare bestand. Het bevat statusinformatie over de statustests voor de host bootstrapper.

Het gastagentproces is verantwoordelijk voor het rapporteren van de statusstatus (bijvoorbeeld Ready of Busy) aan de infrastructuur. Daarom is de status van dit logboek hetzelfde als de status die u in de beheerportal ziet. Het logboek is handig om de huidige status van de rol binnen de VIRTUELE machine te bepalen of om te bepalen wat de status op een eerder tijdstip was. U kunt probleembeschrijvingen opgeven, zoals 'Mijn website is offline van 10:00 tot 11:30 uur gisteren' om het heartbeat-logboek te gebruiken om u te helpen de status van de rol tijdens die tijd te bepalen.

Bootstrapper-logboeken hosten

Het opstartlogboek van de host bevindt zich op C:\Resources\WaHostBootstrapper.log. Het bevat vermeldingen voor opstarttaken, waaronder invoegtoepassingen zoals Caching of Remote Desktop Protocol (RDP). Het logboek bevat ook statustests voor het hostproces waarmee de code van het rolinvoerpunt wordt uitgevoerd (de WebRole.cs code die wordt uitgevoerd in WaIISHost.exe).

Telkens wanneer de host bootstrapper opnieuw wordt opgestart, wordt er een logboekbestand gegenereerd. (Met andere woorden, deze wordt opnieuw opgestart wanneer uw rol wordt gerecycled vanwege een gebeurtenis zoals vastlopen, recyclen, opnieuw opstarten van vm's of upgraden.) Deze procedure maakt het logboek eenvoudig te gebruiken om te bepalen hoe vaak of wanneer uw rol is gerecycled.

Internet Information Services-logboeken

De IIS-logboeken (Internet Information Services) bevinden zich op C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\LogFiles\Web. Deze logboeken worden gebruikt voor standaardproblemen op zowel Azure- als on-premises servers.

IIS-logboeken worden vaak over het hoofd gezien in scenario's zoals 'Mijn website was van 10:00 tot 11:30 uur gisteren'. Het is natuurlijk om Azure de schuld te geven van de storing. ('Mijn site werkt twee weken goed, dus het probleem moet Azure zijn!) De IIS-logboeken geven echter vaak anders aan. Het kan zijn dat er een verhoogde reactietijd is opgetreden direct vóór de storing. Of misschien vindt u dat statuscodes die niet zijn geslaagd, zijn geretourneerd door IIS. Deze codes geven een probleem aan dat zich in de website zelf heeft voorgedaan (dat wil gezegd, in de ASP.NET code die wordt uitgevoerd in w3wp.exe) en niet in Azure.

Prestatiemeteritems

Als u prestatiemeteritems wilt weergeven, selecteert u het menu Start, zoekt u op prestatiemeter en selecteert u vervolgens Prestatiemeter. Deze app is een module in de Microsoft Management Console (MMC). U kunt ook windows Azure Diagnostics-extensie (WAD) installeren en configureren.

Prestatiemeteritems worden gebruikt voor standaardproblemen op zowel Azure- als on-premises servers. Als u WAD van tevoren instelt, hebt u vaak waardevolle prestatiemeteritems om problemen op te lossen die in het verleden zijn opgetreden (bijvoorbeeld 'Mijn website was van 10:00 tot 11:30 uur gisteren.'

Afgezien van problemen waarvoor u specifieke prestatiemeteritems verzamelt, is het meest voorkomende gebruik voor prestatiemeteritems die door WAD worden verzameld, te zoeken naar de volgende items, in de opgegeven volgorde:

  1. Normale vermeldingen van prestatiemeteritems

  2. Een periode zonder vermeldingen

  3. Een van de statussen in de volgende tabel.

    Toestand Beschrijving
    Het hervatten van reguliere vermeldingen Een scenario waarin de VM mogelijk niet werd uitgevoerd
    100 procent CPU-gebruik Een oneindige lus of een ander logicaprobleem in de code van de website zelf

logboeken HTTP.SYS

De HTTP.SYS logboeken bevinden zich in D:\Windows\System32\LogFiles\HTTPERR. Deze logboeken worden gebruikt voor standaardproblemen op zowel Azure- als on-premises servers.

Net als bij IIS-logboeken worden de HTTP.SYS logboeken vaak over het hoofd gezien. Ze zijn echter belangrijk wanneer u probeert een probleem op te lossen waarbij een gehoste servicewebsite niet reageert. Dit probleem wordt vaak veroorzaakt doordat IIS het aantal aanvragen dat binnenkomt, niet kan verwerken. Het bewijs voor deze oorzaak wordt meestal weergegeven in de HTTP.SYS logboeken.

Logboekbestanden voor IIS-aanvragen mislukt

De logboekbestanden 'IIS failed request' bevinden zich op C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\FailedReqLogFiles. Deze logboeken worden gebruikt voor standaardproblemen op zowel Azure- als on-premises servers.

Deze logboekbestanden zijn standaard niet ingeschakeld in Windows Azure. Ze worden zelden gebruikt. Als u echter problemen wilt oplossen die specifiek zijn voor IIS of ASP.NET, moet u overwegen FREB-tracering (mislukte aanvraaggebeurtenisbuffering) in te schakelen. FREB-tracering kan meer informatie geven over deze problemen.

Diagnostische tabellen en configuratie van Windows Azure

De tabellen en configuratie voor de Diagnostische Windows Azure-extensie (WAD) bevinden zich in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\Monitor. Deze items vertegenwoordigen de lokale on-VM-cache van de WAD-gegevens.

WAD voert de volgende stappen uit:

  1. Legt de gegevens vast zoals u deze hebt geconfigureerd.

  2. Slaat de gegevens op in aangepaste TSF-bestanden op de virtuele machine.

  3. Draagt de gegevens over naar de opslag op basis van de geplande overdrachtsperiode die u hebt opgegeven.

Helaas is de inhoud van de WAD-gegevens beperkt omdat de gegevens een aangepaste .tsf-indeling hebben. Maar ze bevatten wel de diagnostische configuratiebestanden die handig zijn om problemen op te lossen als WAD niet goed werkt. Zoek in de map Configuratie naar een bestand met de naam config.xml. Dit bestand bevat de configuratiegegevens voor WAD. Als WAD niet goed werkt, controleert u dit bestand om ervoor te zorgen dat het overeenkomt met de manier waarop WAD moet worden geconfigureerd.

Logboekbestanden in cache opslaan in Windows Azure

De logboekbestanden in de cache van Windows Azure bevinden zich op C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\AzureCaching. Deze logboeken bevatten gedetailleerde informatie over cacheopslag in Windows Azure op basis van rollen. De logboeken kunnen u helpen bij het oplossen van problemen waarbij caching niet werkt zoals verwacht.

WaIISHost-logboeken

Het WaIISHost-logboek bevindt zich in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\WaIISHost.log. Het bevat informatie uit het WaIISHost.exe proces. In dit proces wordt de code van uw rolinvoerpunt (WebRole.cs) uitgevoerd voor WebRoles. De meeste van deze informatie wordt ook opgenomen in de andere logboeken die in dit artikel worden besproken (zoals de Windows Azure-gebeurtenislogboeken). U kunt hier echter af en toe nuttigere informatie vinden.

IISConfigurator-logboeken

Het IISConfigurator-logboek bevindt zich in C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\IISConfigurator.log. Het bevat informatie over het IISConfigurator-proces. Dit proces wordt gebruikt om de werkelijke IIS-configuratie van uw website uit te voeren op basis van het model dat u hebt gedefinieerd in de servicedefinitiebestanden. Het proces mislukt zelden of ondervindt fouten. Maar als IIS of w3wp.exe niet correct is ingesteld voor uw service, is dit logboek de plek om te controleren.

Configuratiebestanden voor rollen

Het configuratiebestand voor rollen bevindt zich op C:\Config\<DeploymentID>.<RoleName>.<Versie>.xml. Het bevat informatie over de configuratie voor uw rol, zoals de volgende items:

  • Instellingen die zijn gedefinieerd in het bestand ServiceConfiguration.cscfg

  • Lokale resourcemappen

  • IP-adressen en poorten voor dynamisch IP-adres (DIP) en virtueel IP-adres (VIP)

  • Certificaatvingerafdrukken

  • Load balancer-tests

  • Andere exemplaren

Het rolconfiguratiebestand is vergelijkbaar met het definitiebestand van het rolmodel omdat het geen door runtime gegenereerde informatie bevat. Het kan echter handig zijn om ervoor te zorgen dat uw service is geconfigureerd zoals verwacht.

Definitiebestand voor rolmodel

Het definitiebestand van het rolmodel bevindt zich op E:\RoleModel.xml of F:\RoleModel.xml. Het bevat informatie over hoe uw service wordt gedefinieerd volgens de Azure-runtime.

Het bestand bevat vermeldingen voor elke opstarttaak en informatie over hoe de taak wordt uitgevoerd, inclusief de volgende kenmerken:

  • Achtergrond
  • Omgevingsvariabelen
  • Locatie

U kunt ook zien hoe het <site-element> is gedefinieerd voor een webrol.

Het definitiebestand van het rolmodel bevat geen door runtime gegenereerde informatie, maar kan u helpen te controleren of Azure uw service uitvoert zoals verwacht. Deze verificatie helpt vaak wanneer u een bepaalde versie van een servicedefinitie op uw ontwikkelcomputer hebt, maar de build- en pakketserver een andere versie van de servicedefinitiebestanden gebruikt.

Over ETL-bestanden

De map C:\Logs bevat RuntimeEvents_<Iteration.etl>- en WaAppAgent_<Iteration.etl-bestanden>. Deze ETL-bestanden (Event Trace Log) zijn ETW-traceringen (Event Tracing for Windows) die een compilatie bevatten van de informatie die wordt gevonden in de Windows Azure-gebeurtenislogboeken, logboeken van gastagenten en andere logboeken. De bestanden zijn een handige compilatie van de belangrijkste logboekgegevens in een Azure-VM. Omdat de bestanden de ETL-indeling hebben, moet u enkele extra stappen uitvoeren om de informatie te gebruiken. Als u een favoriete ETW-weergaveprogramma hebt, kunt u veel van de genoemde logboekbestanden negeren. In plaats daarvan kunt u alleen de informatie in deze twee ETL-bestanden bekijken.

Volgende stappen

Meer informatie

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.