Udostępnij za pośrednictwem


Rozwiązywanie problemów z routingiem żądań aplikacji przy użyciu reguł śledzenia niepomyślnych żądań

Dotyczy: Internet Information Services 7.0 i nowsze wersje

Śledzenie żądań niepomyślnych to zaawansowane narzędzie do rozwiązywania problemów z błędami przetwarzania żądań w usługach IIS 7.0 i nowszych wersjach. Ten artykuł zawiera kroki umożliwiające włączenie reguł śledzenia niepomyślnych żądań w celu debugowania błędów i kroków śledzenia w routingu żądań aplikacji. Aby uzyskać więcej informacji na temat reguł śledzenia niepomyślnych żądań, zobacz Rozwiązywanie problemów z żądaniami niepowodzenia przy użyciu śledzenia w usługach IIS 8.5.

Goal

Aby skonfigurować reguły śledzenia żądań niepomyślnych i zrozumieć, co należy szukać podczas rozwiązywania problemów z routingiem żądań aplikacji.

Wymagania wstępne

Ten przewodnik wymaga następujących wymagań wstępnych:

  • Usługi IIS 7.0 lub nowsze w systemie Windows 2008 (dowolna jednostka SKU) lub nowsze z zainstalowaną usługą roli Śledzenie dla usług IIS.
  • Routing żądań aplikacji firmy Microsoft i moduły zależne.
  • Co najmniej dwa serwery aplikacji z roboczymi lokacjami i aplikacjami.

Jeśli routing żądań aplikacji nie został zainstalowany, pobierz go z Centrum pobierania i zainstaluj go, wykonując kroki opisane w temacie Instalowanie routingu żądań aplikacji.

Innym wymaganiem wstępnym jest użycie modułu routingu żądań aplikacji i skonfigurowanie routingu żądań aplikacji. Routing żądań aplikacji powinien być w porządku roboczym przed kontynuowaniem pracy z następującymi sekcjami.

Krok 1. Konfigurowanie reguł śledzenia niepomyślnych żądań

Skonfiguruj reguły śledzenia żądań niepomyślnych dla routingu żądań aplikacji przy użyciu interfejsu użytkownika lub wiersza polecenia.

Jak skonfigurować reguły śledzenia niepomyślnych żądań przy użyciu interfejsu użytkownika

  1. Uruchom Menedżera usług Internet Information Services (IIS) (inetmgr).
  2. Wybierz pozycję Domyślna witryna sieci Web.
    Zrzut ekranu przedstawiający rozwiniętą listę Witryny. Wyróżniono domyślną witrynę sieci Web.
  3. W okienku Akcje w obszarze Konfiguruj wybierz pozycję Śledzenie żądań zakończone niepowodzeniem....
    Zrzut ekranu przedstawiający śledzenie żądań, które zakończyło się niepowodzeniem w okienku Akcje.
  4. W oknie dialogowym Edytowanie ustawień śledzenia żądań nie powiodło się, zaznacz pole wyboru Włącz.
    Zrzut ekranu przedstawiający okno dialogowe Edytowanie nieudanych ustawień śledzenia żądań witryny sieci Web.
  5. Wybierz przycisk OK, aby zapisać zmiany.
  6. Wybierz pozycję Domyślna witryna sieci Web.
  7. Kliknij dwukrotnie reguły śledzenia żądań, które zakończyły się niepowodzeniem.
  8. W okienku Akcje wybierz pozycję Dodaj....
    Zrzut ekranu przedstawiający okno Dodawanie reguły śledzenia niepomyślnych żądań. Wybrana jest cała zawartość.
    Wybierz pozycję Cała zawartość (*), a następnie wybierz przycisk Dalej.
  9. Wybierz pozycję Kody stanu: i wprowadź wartość 200-399.
    Zrzut ekranu przedstawiający regułę dodawania śledzenia niepomyślnych żądań. Kod stanu jest sprawdzany.
    Wybierz Dalej. Powyższa konfiguracja utworzyła regułę śledzenia niepomyślnych żądań, która zapisuje ślady, gdy kod stanu mieści się w zakresie od 200 do 399.
  10. Usuń zaznaczenie rozszerzenia ASP, ASPNET i ISAPI. Po wybraniu serwera WWW usuń zaznaczenie wszystkich elementów w obszarze Obszary:, z wyjątkiem ponownego zapisywania i żądaniaRouting. Ponieważ routing żądań aplikacji opiera się na module ponownego zapisywania adresów URL w celu sprawdzenia żądań przychodzących, zaleca się włączenie śladów dla routingu żądań aplikacji (RequestRouting) i modułu ponownego zapisywania adresów URL (ponowne zapisywanie).
    Zrzut ekranu przedstawiający okno Edytowanie reguły śledzenia niepomyślnych żądań. Serwer W W W jest wybrany w sekcji Dostawcy.
    Aby uzyskać dodatkowe informacje na temat śladów modułu ponownego zapisywania adresów URL, zobacz Using Failed Request Tracing to Trace Rewrite Rules (Używanie śledzenia nieudanych żądań śledzenia w regułach ponownego zapisywania).
  11. Wybierz Zakończ.

Jak skonfigurować reguły śledzenia niepomyślnych żądań przy użyciu wiersza polecenia

  1. Otwórz wiersz polecenia z uprawnieniami administratora.

  2. Przejdź do %windir%\system32\inetsrv.

  3. Aby włączyć śledzenie żądań niepomyślnych w domyślnej witrynie sieci Web, uruchom następujące polecenie:

    appcmd set site "Default Web Site" -traceFailedRequestsLogging.enabled:"true" /commit:apphost
    
  4. Aby skonfigurować reguły śledzenia niepomyślnych żądań, jak pokazano w powyższym interfejsie użytkownika, uruchom następujące polecenia:

    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"
    

Krok 2. Analizowanie dzienników śledzenia żądań, które zakończyły się niepowodzeniem

W tym kroku wyślesz żądania do routingu żądań aplikacji i przeanalizujesz dzienniki śledzenia niepomyślnych żądań.

Aby wyświetlić dzienniki śledzenia niepomyślnych żądań

  1. Przejdź do katalogu, w którym są zapisywane dzienniki śledzenia niepomyślnych żądań. Domyślnie lokalizacja to %SystemDrive%\inetpub\Logs\FailedReqLogFiles\.

  2. Zmień katalog na folder zgodny z domyślną witryną sieci Web. Domyślnie jest to W3SVC1. Jeśli nie masz pewności, wybierz domyślną witrynę sieci Web w Menedżerze usług IIS, a następnie wybierz pozycję Ustawienia zaawansowane... w okienku Akcje. Wartość identyfikatora wskazuje odpowiedni folder. (Na przykład identyfikator 1 odpowiada W3SVC1).

  3. Jeśli istnieją jakiekolwiek pliki XML, usuń je, wpisując:

    del *.xml
    
  4. Wyślij żądanie do routingu żądań aplikacji. Jeśli routing żądań aplikacji działa prawidłowo, powoduje odpowiedź 200, która mieści się w zakresie od 200 do 399 określonym w kroku 1. W związku z tym dzienniki są zapisywane w powyższej lokalizacji.

  5. Wyświetl listę plików w katalogu, aby potwierdzić, że są zapisywane nowe pliki XML.

  6. Otwórz plik XML. Wybierz pozycję Szczegóły żądania. Wybierz pozycję Ukończ śledzenie żądania, a następnie wybierz pozycję Rozwiń wszystko. Na poniższej ilustracji przedstawiono przykład dziennika śledzenia żądań niepomyślnych dla routingu żądań aplikacji:
    Zrzut ekranu przedstawiający okno przeglądarki z wyświetloną diagnostyką żądań dla przykładowej witryny internetowej na karcie.

  7. Zwróć szczególną uwagę na następujące sekcje:

    • GENERAL_REQUEST_HEADERS:

      • Nagłówki: wyświetla nagłówek HTTP odebrany przez routing żądań aplikacji.
    • ARR_REQUEST_ROUTED:

      • WebFarm: wskazuje nazwę grupy serwerów, w której jest kierowane żądanie.
      • Serwer: wskazuje serwer docelowy, na którym jest kierowane żądanie.
      • Algorytm: wskazuje, który algorytm równoważenia obciążenia jest używany.
      • RoutingReason: wskazuje decyzję, dlaczego wybrano serwer.
    • ARR_SERVER_STATS:

      • Stan: Dostępność serwera docelowego.
      • TotalRequests: statystyka środowiska uruchomieniowego na temat liczby żądań wysłanych do tego serwera.
      • CurrentRequests: statystyka środowiska uruchomieniowego na równoczesnej liczbie żądań HTTP na tym serwerze.
      • BytesSent: statystyka środowiska uruchomieniowego na temat ilości danych w bazie wiedzy wysłanych na ten serwer.
      • BytesReceived: statystyka środowiska uruchomieniowego na temat ilości danych w kb odebranych z tego serwera.
      • ResponseTime: statystyka czasu wykonywania na czas odpowiedzi w ms tego serwera.
    • GENERAL_RESPONSE_HEADERS

      • Nagłówki: wyświetla nagłówek HTTP odpowiedzi z serwera docelowego.
    • GENERAL_RESPONSE_ENTITY_BUFFER

      • Bufor: pokazuje jednostkę odpowiedzi z serwera docelowego.
    • Dodano następujące znaczniki czasu, aby wskazać czas rozpoczęcia i zakończenia odpowiednich zdarzeń w celu profilowania wydajności routingu żądań aplikacji:

      • 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

Jeśli zbierasz dzienniki śledzenia niepomyślnych żądań na rdzeniu serwera, skopiuj dzienniki z arkuszem stylów freb.xsl na komputer, na którym jest dostępna przeglądarka.

Podsumowanie

Reguły śledzenia żądań zakończone niepowodzeniem zostały pomyślnie skonfigurowane dla routingu żądań aplikacji. Reguły śledzenia żądań niepomyślnych mogą służyć do rozwiązywania problemów i debugowania routingu żądań aplikacji, a także poznać decyzje dotyczące routingu, w tym algorytmy równoważenia obciążenia, które zostały dokonane podczas wybierania serwera docelowego dla danego żądania.