Dela via


Felsöka misslyckade begäranden med spårning i IIS 8.5

Gäller för: Internet Information Services 8.5

Introduktion

Begärandebaserad spårning är tillgänglig både på fristående IIS-servrar och på Microsoft Azure-webbplatser (WAWS). Om du kan återskapa problemet som du upplever kan du använda begärandebaserad spårning för att avgöra exakt vad som händer med dina begäranden och varför det händer. Problem som dålig prestanda på vissa begäranden, autentiseringsrelaterade fel på andra begäranden eller server 500-fel från ASP eller ASP.NET kan ofta vara svåra att felsöka, såvida du inte har samlat in spårningen av problemet när det inträffar. I den här artikeln beskrivs spårning av misslyckade förfrågningar på IIS Server. Information om hur du gör detta med Microsoft Azure-webbplatser finns i Felsöka en app i Azure App Service med Visual Studio.

Spårning av misslyckade begäranden är utformad för att buffras spårningshändelserna för en begäran och endast tömma dem till disk om begäran misslyckas, där du anger definitionen av fel. Om du vill veta varför dina begäranden returnerar en specifik HTTP-statuskod, till exempel 401 eller 404, eller om en begäran tar ett tag att bearbeta eller inte svarar, kan du använda Spårning av misslyckade förfrågningar.

De uppgifter som förklaras i den här artikeln är:

  • Aktivera spårningsmodulen för misslyckad begäran.
  • Konfigurera loggfilssemantik för spårning av misslyckade begäranden.
  • Definiera url:en för vilken spårning av misslyckade begäranden ska behållas, inklusive feldefinitioner och områden att spåra.
  • Generera feltillståndet och visa den resulterande spårningen.

Förutsättningar

Installera IIS

Installera IIS 8.5 innan du kan utföra de uppgifter som beskrivs i den här artikeln. Bläddra till http://localhost/ och kontrollera att välkomstskärmen för Internet Information Services visas. Om IIS inte är installerat finns installationsanvisningar i Installera IIS 8.5 på Windows Server 2012 R2 . När du installerar IIS kontrollerar du att du även installerar följande funktioner:

  • ASP.NET 3.5 (under Web Server (IIS)/Web Server/Application Development Features/ASP.NET 3.5)
  • ASP.NET 4.5 (under Web Server (IIS)/Web Server/Application Development Features/ASP.NET 4.5)
  • Spårning (under Webbserver (IIS)/Webbserverhälsa/och diagnostik – spårning)

Logga in som administratör

Kontrollera att det konto som du använder för att logga in är administratörskontot eller finns i gruppen Administratörer.

Kommentar

Om du är i gruppen Administratörer ger du inte fullständig administratörsanvändarbehörighet som standard. Du måste köra program som administratör genom att högerklicka på programikonen och välja Kör som administratör.

Gör en säkerhetskopia

Gör en säkerhetskopia av konfigurationsfilerna innan du utför följande uppgifter:

  1. Välj Windows-logotypnyckeln och X-tangenten samtidigt, välj Kommandotolken (administratör)och välj sedan Ja.

    Skärmbild av Kommandotolkens administratör i Aktivitetsfältet i Windows.

  2. Kör följande kommando i kommandotolken:

    %windir%\system32\inetsrv\appcmd add backup cleanInstall
    

    Det här kommandot skapar en cleanInstall-mapp som innehåller konfigurationsfiler för säkerhetskopiering i %windir%\system32\inetsrv\backup.

Skapa exempelinnehåll

  1. Gå till %systemdrive%\inetpub\wwwroot.

  2. Flytta innehållet till en säker plats (om du vill återställa det befintliga innehållet) eller ta bort det.

  3. Skapa en tom fil och ge den namnet test.asp.

  4. I kommandotolken navigerar du till filen test.asp i \inetpub\wwwroot.

  5. I filen test.asp klistrar du in följande innehåll:

    <h2>Failed Request Tracing Lab</h2><br>
    <br>Today's date is <% response.write(Date()) %>
    

Inaktivera ASP

ASP måste vara inaktiverat för den här uppgiften. ASP är endast inaktiverat som ett exempel och för uppgifterna i den här artikeln.

Så här inaktiverar du ASP:

  1. Öppna IIS-hanteraren och välj servern.

  2. Dubbelklicka på ISAPI- och CGI-begränsningar.

    Skärmbild av I S Manager-fönstret som visar I S A P I och C G I Restrictions selected (I S Manager- och C G I-begränsningar).

  3. I fönstret ISAPI- och CGI-begränsningar väljer du Aktiva serversidor. I fönstret Åtgärder väljer du Neka för att inaktivera ASP. Aktiva serversidor visas som Ej tillåtna.

    Skärmbild av fönstret I S A P I och C G I Restrictions (I S A P I- och C G I-begränsningar) som visar aktiva serversidor markerade. Alternativet Neka är markerat i åtgärdsfönstret.

Aktivera spårning för misslyckade förfrågningar

När du har aktiverat spårning av misslyckade förfrågningar måste du konfigurera sökvägen till loggfilerna. I det här avsnittet aktiverar du Spårning av misslyckade förfrågningar för standardwebbplatsen och anger var loggfilerna ska lagras och konfigurerar sedan det fel som felloggarna ska genereras för.

Steg 1: Aktivera spårning av misslyckade begäranden för platsen och konfigurera loggfilkatalogen

  1. Öppna en kommandotolk med administratörsbehörighet och gå till %systemdrive%\windows\system32\inetsrv.

  2. Kör inetmgr för att öppna IIS Manager.

  3. I fönstret Anslutningar expanderar du datornamnet, expanderar Webbplatser och väljer sedan Standardwebbplats.

  4. I fönstret Åtgärder går du till Konfigurera och väljer Spårning av misslyckade förfrågningar....

    Skärmbild av åtgärdsfönstret som visar alternativet Spårning av misslyckade förfrågningar är markerat under fliken Konfigurera.

  5. I dialogrutan Redigera inställningar för spårning av misslyckade begäranden konfigurerar du följande:

    • Markera kryssrutan Aktivera .
    • Behåll standardinställningarna för de andra inställningarna.

    Skärmbild som visar dialogrutan Redigera inställningar för spårning av misslyckade begäranden med kommandot fyll i katalogfältet och kryssrutan Aktivera markerad.

  6. Välj OK.

    Spårningsloggning för misslyckade begäranden är nu aktiverad för standardwebbplatsen. Kontrollera filen %windir%\system32\inetsrv\config\applicationHost.config för att bekräfta att konfigurationen ser ut så här:

    <system.applicationHost>
       <!-- other system configuration --> 
       <sites> 
          <site name="Default Web Site" id="1"> 
             <!-- other site configuration --> 
             <traceFailedRequestsLogging  enabled="true" /> 
          </site> 
          <!-- site & app defaults --> 
          <!-- other sites configuration --> 
       </sites> 
       <!-- other system configuration --> 
    </system.applicationHost>
    

Steg 2: Konfigurera dina feldefinitioner

I det här steget konfigurerar du feldefinitionerna för din URL, inklusive vilka områden som ska spåras. Du felsöker en 404.2-statuskod som returneras av IIS för alla begäranden till tillägg som ännu inte har aktiverats. Det hjälper dig att avgöra vilka specifika tillägg du behöver aktivera. Mer information finns i HTTP-statuskoder i IIS.

  1. Öppna en kommandotolk med administratörsbehörighet och gå till %systemdrive%\windows\system32\inetsrv.

  2. Kör inetmgr för att öppna IIS Manager.

  3. I fönstret Anslutningar expanderar du datornamnet, expanderar Webbplatser och väljer sedan Standardwebbplats.

  4. Dubbelklicka på Spårningsregler för misslyckade förfrågningar.

    Skärmbild av fönstret Start för standardwebbplats med funktionen Spårningsregler för misslyckade begäranden markerad.

  5. I fönstret Åtgärder väljer du Lägg till....

  6. I guiden Lägg till spårningsregel för misslyckade förfrågningar går du till sidan Ange innehåll till spårning, väljer Allt innehåll (*) och väljer sedan Nästa.

    Skärmbild som visar guiden Lägg till spårningsregel för misslyckade förfrågningar. Alternativet Allt innehåll är markerat på sidan Ange innehåll till spårning.

  7. På sidan Definiera spårningsvillkor markerar du kryssrutan Statuskoder och anger 404.2 som statuskod som ska spåras.

    Skärmbild av lägg till spårningsregel för misslyckad begäran som visar sidan Definiera spårningsvillkor och 404 punkt 2 som angetts som statuskod.

  8. Välj Nästa.

  9. På sidan Välj spårningsproviders , under Providers, markerar du kryssrutan WWW Server och avmarkerar alla andra kryssrutor. Under Områden markerar du kryssrutan Säkerhet och avmarkerar alla andra kryssrutor.

    Problemet som du genererar orsakar att en spårningshändelse för säkerhetsfel utlöses. I allmänhet kan problem med autentisering och auktorisering (inklusive PROBLEM med ISAPI-begränsningslistan) diagnostiseras med hjälp av KONFIGURATION AV WWW Server – Säkerhetsområde för spårning. Men eftersom FREB.xsl-formatmallen hjälper till att markera fel och varningar kan du fortfarande använda standardkonfigurationen för att logga alla händelser i alla områden och leverantörer.

  10. Under Utförlighet väljer du Utförligt.

    Kommentar

    När du installerar spårningsrolltjänsten installerar IIS som standard spårningsprovidrar för WWW Server, ASP och ISAPI-tillägg. Om du installerar ASP.NET 2.0 eller senare lägger IIS automatiskt till ASPNET-spårningsprovidern. Ytterligare leverantörer installeras av installationsprogrammet för programbegäransroutning (ARR), som även installerar modulen URL Rewrite, Web Farm Management och Extern cache. Du kan lägga till fler spårningsprovidrar med hjälp av elementet <add> i -elementet <traceProviderDefinitions> .

    Skärmbild av guiden Lägg till spårningsregel för misslyckade förfrågningar som visar WWW Server som valts från listan Providers och Säkerhet som väljs på menyn Områden.

  11. Välj Slutför.

  12. Du ser följande definition för standardwebbplatsen:

    Skärmbild av sidan Spårningsregler för misslyckade begäranden som visar WWW Server som angetts som associerad provider och 404 punkt 2 som statuskod.

    IIS Manager skriver konfigurationen %systemdrive%\inetpub\wwwroot\web.config till filen med hjälp av en <location> tagg. Konfigurationen bör göra följande igen:

    <configuration> 
        <system.webServer> 
            <tracing> 
                <traceFailedRequests> 
                    <add path="*"> 
                        <traceAreas> 
                            <add provider="WWW Server" areas="Security" verbosity="Verbose" /> 
                        </traceAreas> 
                        <failureDefinitions statusCodes="404.2" /> 
                    </add> 
                </traceFailedRequests> 
            </tracing> 
        </system.webServer> 
    </configuration>
    

Testa och visa loggfilen för felbegäran

Det här avsnittet hjälper dig att generera en misslyckad begäran och visa den resulterande spårningsloggen. Du har redan konfigurerat IIS för att samla in spårningsloggar för http://localhost/*.asp begäranden som misslyckas med en HTTP-svarskod på 404.2. Kontrollera nu att det fungerar.

Steg 1: Generera ett fel och loggfilen för felbegäran

  1. Öppna ett nytt Internet Explorer-fönster.

  2. http://localhost/test.asp Ange och tryck på RETUR. Felmeddelandet "HTTP-fel 404.2 – Hittades inte" visas.

    Skärmbild av Internet Explorer-fönstret som visar meddelandesidan H T T P Fel 404 punkt 2 streck hittades inte.

Steg 2: Visa loggfilen för felbegäran

  1. Nu när du har genererat en misslyckad begäran öppnar du Utforskaren och navigerar till %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.

    Skärmbild av mappen W 3 S V C 1 i katalogen Req Log Files som misslyckades.

    Kommentar

    När IIS skriver loggfilen för misslyckad begäran skriver den en fil per misslyckad begäran. En freb.xsl-formatmall skrivs också, en per katalog. Det hjälper när du visar loggfilerna för den resulterande felbegäran (till exempel fr000001.xml i det här exemplet).

  2. Högerklicka på loggfilen för felet 404.2 och välj Öppna med ->Internet Explorer. Om det här är första gången du öppnar en spårningsfil för misslyckade förfrågningar måste du lägga till about:internet i listan över betrodda platser eftersom Internet Explorers utökade säkerhetskonfiguration är aktiverad som standard. I så fall visas följande:

    Skärmbild av dialogrutan Internet Explorer med Alternativet Fortsätt att fråga när webbplatsinnehåll är blockerat har valts.

  3. I dialogrutan Internet Explorer lägger du till about:internet i listan över betrodda webbplatser med följande steg:

    1. Välj menyn Verktyg och välj sedan Internetalternativ.
    2. Välj fliken Säkerhet.
    3. Välj Betrodd zon och välj sedan Platser.
    4. Detta gör att XSL kan fungera.
  4. Du ser en sammanfattningssida för begäran när du har lagt till about:internet i listan över betrodda webbplatser:

    Skärmbild av sidan Förfrågningssammanfattning med tabellen Fel och varningar som visar kolumner för allvarlighetsgrad, händelse och modulnamn.

    En sammanfattning av den misslyckade begäran loggas överst, med tabellen Fel och varningar som identifierar händelser som är WARNING, ERROReller CRITICAL ERROR i allvarlighetsgrad. I det här exemplet WARNING beror allvarlighetsgraden på ISAPI-BEGRÄNSNING. Bilden som du försökte läsa in var %windir%\system32\inetsrv\asp.dll.

  5. Öppna XML-råfilen direkt med hjälp av en textredigerare och titta på innehållet i händelsen.

Sammanfattning

Du har slutfört två uppgifter: konfigurera spårning av misslyckade begäranden för att samla in spårningar för alla begäranden som IIS returnerar med statuskoden 404.2 och kontrollera att IIS har samlat in spårningen för din begäran. Du har också kontrollerat att loggfilen freb.xml inte innehöll några andra begäranden än de med returkoden 404.2. När du konsulterade felloggfilen fastställde du att orsaken till felet var att tillägget var inaktiverat för den begäran. Du kan prova andra sidor som inte är HTML-sidor (till exempel .gif eller .jpg filer) och observera att loggfilen inte lägger till dessa spårningar. Du kan också enkelt ändra den här händelsen till 404 eller registrera felet om begäran tar längre tid än 30 sekunder genom att ange fältet timeTaken i dina failureDefinitions.

Återställa din säkerhetskopia

Nu när du har slutfört uppgifterna i den här artikeln kan du återställa säkerhetskopian av konfigurationen. Kör följande kommando med administratörsanvändarrättigheter:

%windir%\system32\inetsrv\appcmd restore backup cleanInstall