Condividi tramite


Uso delle regole di traccia delle richieste non riuscite per risolvere i problemi relativi al routing delle richieste dell'applicazione

Si applica a: Internet Information Services in Windows Server 2016 e versioni successive del sistema operativo

Traccia richieste non riuscite è uno strumento potente per la risoluzione dei problemi di elaborazione delle richieste nel server Web Internet Information Services (IIS) fornito con Windows Server 2016 o versioni successive. Questo articolo illustra i passaggi per abilitare le regole di traccia delle richieste non riuscite per eseguire il debug degli errori e i passaggi di traccia in Routing delle richieste dell'applicazione. Per altre informazioni sulle regole di traccia delle richieste non riuscite, vedere Risolvere i problemi relativi alle richieste non riuscite tramite la traccia in IIS.

Obiettivo

Per configurare le regole di traccia delle richieste non riuscite e comprendere cosa cercare durante la risoluzione dei problemi relativi al routing delle richieste dell'applicazione.

Prerequisiti

Questa procedura dettagliata richiede i prerequisiti seguenti:

  • IIS in Windows Sever 2016 (qualsiasi SKU) o versione successiva con il servizio ruolo di traccia installato per IIS.
  • Routing delle richieste di applicazioni Microsoft e moduli dipendenti.
  • Almeno due server applicazioni con siti e applicazioni funzionanti.

Se il routing delle richieste dell'applicazione non è stato installato, scaricarlo dall'Area download e installarlo seguendo la procedura descritta in Installare il routing delle richieste dell'applicazione.

Un altro prerequisito è che è stato eseguito l'uso del modulo di routing delle richieste dell'applicazione e che è stato configurato il routing delle richieste dell'applicazione. Il routing delle richieste dell'applicazione deve essere in ordine di lavoro prima di procedere con le sezioni seguenti.

Passaggio 1: Configurare le regole di traccia delle richieste non riuscite

Configurare le regole di traccia delle richieste non riuscite per il routing delle richieste dell'applicazione usando l'interfaccia utente o la riga di comando.

Come configurare le regole di traccia delle richieste non riuscite tramite l'interfaccia utente

  1. Avviare Gestione Internet Information Services (IIS) (inetmgr).

  2. Selezionare Sito Web predefinito.

    Screenshot che mostra l'elenco Siti espanso. Il sito Web predefinito è evidenziato.

  3. Nel riquadro Azioni, in Configura, selezionare Traccia richiesta non riuscita....

    Screenshot incentrato sulla traccia delle richieste non riuscite nel riquadro Azioni.

  4. Nella finestra di dialogo Modifica impostazioni di traccia richieste non riuscite del sito Web selezionare la casella di controllo Abilita.

    Screenshot della finestra di dialogo Modifica impostazioni di traccia richieste non riuscite del sito Web.

  5. Selezionare OK per salvare le modifiche.

  6. Selezionare Sito Web predefinito.

  7. Fare doppio clic su Regole di traccia richieste non riuscite.

  8. Nel riquadro Azioni selezionare Aggiungi....

    Screenshot della finestra Aggiungi regola di traccia delle richieste non riuscite. Tutto il contenuto è selezionato.

    Selezionare Tutto il contenuto (*), quindi selezionare Avanti.

  9. Selezionare Codici di stato: e immettere 200-399.

    Screenshot della regola aggiungi traccia richiesta non riuscita. Viene controllato il codice di stato.

    Seleziona Avanti. La configurazione precedente ha creato una regola di traccia delle richieste non riuscite che scrive tracce quando il codice di stato è compreso tra 200 e 399.

  10. Deselezionare l'estensione ASP, ASPNET e ISAPI. Dopo aver selezionato WWW Server, deselezionare tutti gli elementi in Aree: ad eccezione di Riscrittura e RichiestaRouting. Poiché il routing delle richieste dell'applicazione si basa sul modulo di riscrittura URL per controllare le richieste in ingresso, è consigliabile abilitare le tracce sia per il routing delle richieste dell'applicazione (RequestRouting) che per il modulo di riscrittura URL (riscrittura).

    Screenshot della finestra Modifica regola di traccia delle richieste non riuscite. W W Server è selezionato nella sezione Provider.

    Per altre informazioni sulle tracce del modulo di riscrittura URL, vedere Using Failed Request Tracing to Trace to Trace Rewrite Rules.For additional information about URL Rewrite Module traces, see Using Failed Request Tracing to Trace Rewrite Rules.

  11. Selezionare Fine.

Come configurare le regole di traccia delle richieste non riuscite tramite la riga di comando

  1. Aprire un prompt dei comandi con privilegi di amministratore.

  2. Accedere a %windir%\system32\inetsrv.

  3. Per abilitare La traccia delle richieste non riuscite nel sito Web predefinito, eseguire il comando seguente:

    appcmd set site "Default Web Site" -traceFailedRequestsLogging.enabled:"true" /commit:apphost
    
  4. Per configurare le regole di traccia delle richieste non riuscite, come illustrato nell'interfaccia utente precedente, eseguire i comandi seguenti:

    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*']"
    
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='WWW Server',areas='Rewrite,RequestRouting',verbosity='Verbose']"
    
    appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /[path='*'].failureDefinitions.statusCodes:"200-399"
    

Passaggio 2: Analizzare i log di traccia delle richieste non riusciti

In questo passaggio si invieranno richieste al routing delle richieste dell'applicazione e si analizzeranno i log di traccia delle richieste non riuscite.

Per visualizzare i log di traccia delle richieste non riuscite

  1. Passare alla directory in cui vengono scritti i log di traccia delle richieste non riuscite. Per impostazione predefinita, il percorso è %SystemDrive%\inetpub\Logs\FailedReqLogFiles\.

  2. Modificare la directory nella cartella corrispondente al sito Web predefinito. Per impostazione predefinita, è W3SVC1. Se non si è certi, selezionare il sito Web predefinito in Gestione IIS e quindi selezionare Impostazioni avanzate nel riquadro Azioni . Il valore dell'ID indica la cartella corrispondente. Ad esempio, l'ID 1 corrisponde a W3SVC1.

  3. Se sono presenti file XML, rimuoverli digitando:

    del *.xml
    
  4. Inviare una richiesta al routing delle richieste dell'applicazione. Se il routing delle richieste dell'applicazione funziona correttamente, viene restituita una risposta 200 che rientra nell'intervallo compreso tra 200 e 399 specificato nel passaggio 1. Di conseguenza, i log vengono scritti nel percorso precedente.

  5. Elencare i file nella directory per verificare che vengano scritti nuovi file XML.

  6. Aprire il file XML. Selezionare Dettagli richiesta. Selezionare Completa traccia richiesta e quindi Selezionare Espandi tutto. L'immagine seguente è un esempio di log di traccia delle richieste non riuscite per il routing delle richieste dell'applicazione:

    Screenshot di una finestra del browser che mostra la diagnostica delle richieste per il sito Web di esempio in una scheda.

  7. Prestare maggiore attenzione alle sezioni seguenti:

    • GENERAL_REQUEST_HEADERS:

      • Intestazioni: mostra l'intestazione HTTP ricevuta dal routing delle richieste dell'applicazione.
    • ARR_REQUEST_ROUTED:

      • WebFarm: indica il nome del gruppo di server in cui viene instradata la richiesta.
      • Server: indica il server di destinazione in cui viene instradata la richiesta.
      • Algoritmo: indica quale algoritmo di bilanciamento del carico viene usato.
      • RoutingReason: indica la decisione alla base del motivo per cui è selezionato il server.
    • ARR_SERVER_STATS:

      • Stato: disponibilità del server di destinazione.
      • TotalRequests: statistiche di runtime sul numero di richieste inviate a questo server.
      • CurrentRequests: statistica di runtime sul numero simultaneo di richieste HTTP a questo server.
      • ByteSent: statistica di runtime sulla quantità di dati in KB inviati a questo server.
      • BytesReceived: statistica di runtime sulla quantità di dati ricevuti in KB da questo server.
      • ResponseTime: statistica di runtime sulla velocità di risposta in ms di questo server.
    • GENERAL_RESPONSE_HEADERS

      • Intestazioni: mostra l'intestazione HTTP della risposta dal server di destinazione.
    • GENERAL_RESPONSE_ENTITY_BUFFER

      • Buffer: mostra l'entità di risposta dal server di destinazione.
    • Di seguito sono stati aggiunti i timestamp per indicare l'ora di inizio e di fine degli eventi corrispondenti per profilare le prestazioni del routing delle richieste dell'applicazione:

      • ARR_REQUEST_HEADERS_START
      • ARR_REQUEST_HEADERS_END
      • ARR_RESPONSE_HEADERS_START
      • ARR_RESPONSE_HEADERS_END
      • ARR_RESPONSE_ENTITY_START
      • ARR_RESPONSE_ENTITY_END
      • ARR_RESPONSE_ENTITY_START
      • ARR_RESPONSE_ENTITY_END

Se si raccolgono i log di traccia delle richieste non riuscite nel server core, copiare i log con il foglio di stile freb.xsl in un computer in cui è disponibile un browser.

Riepilogo

Sono state configurate correttamente le regole di traccia delle richieste non riuscite per il routing delle richieste dell'applicazione. Le regole di traccia delle richieste non riuscite possono essere usate per risolvere i problemi ed eseguire il debug del routing delle richieste, oltre a comprendere le decisioni di routing, inclusi gli algoritmi di bilanciamento del carico, che ha preso nella selezione del server di destinazione per una determinata richiesta.