Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Internet Information Services 7.0
Uwaga
Ten artykuł dotyczy usług IIS 7.0. W przypadku nowszych wersji zobacz Rozwiązywanie problemów z nieudanymi żądaniami za pomocą śledzenia w usługach IIS 8.5.
Śledzenie oparte na żądaniach jest dostępne zarówno na autonomicznych serwerach IIS, jak i na platformie Azure w aplikacjach internetowych. Umożliwia określenie, co dokładnie dzieje się z żądaniami i dlaczego, jeśli możesz odtworzyć doświadczany problem. Problemy takie jak niska wydajność niektórych żądań lub błędy związane z uwierzytelnianiem w innych żądaniach lub błąd serwera 500 z platformy ASP lub ASP.NET często mogą być trudne do rozwiązania — chyba że przechwycono ślad problemu. W tym artykule omówiono funkcję Śledzenie Nieudanych Żądań na serwerze IIS. Aby uzyskać informacje na temat wykonywania tej czynności za pomocą aplikacji internetowych platformy Azure, zobacz Rozwiązywanie problemów z aplikacją w usłudze aplikacja systemu Azure przy użyciu programu Visual Studio.
Śledzenie nieudanego żądania jest przeznaczone do buforowania zdarzeń śledzenia dla żądania i zapisania ich na dysk tylko wtedy, gdy żądanie zakończy się niepowodzeniem, zgodnie z dostarczoną definicją "niepowodzenia". Jeśli chcesz wiedzieć, dlaczego otrzymujesz komunikaty o błędach 404.2 lub dlaczego zaczynają się opóźnienia w przetwarzaniu żądań, użyj narzędzia do śledzenia nieudanych żądań.
Zadania przedstawione w tym artykule obejmują:
- Włączanie modułu śledzenia nieudanych żądań.
- Konfigurowanie semantyki plików dziennika dla śledzenia nieudanych żądań.
- Określenie adresu URL, dla którego należy zachować ślady nieudanych żądań, w tym definicje niepowodzeń i obszary do monitorowania.
- Generowanie warunku błędu i wyświetlanie śladu wynikowego.
Wymagania wstępne
Instalacja usług IIS
Przed wykonaniem zadań opisanych w tym artykule należy zainstalować usługi IIS 7 lub nowsze. Przejdź do http://localhost/, aby sprawdzić, czy usługi IIS są zainstalowane. Jeśli usługi IIS nie są zainstalowane, zobacz Instalowanie usług IIS w systemie Windows Server 2008 , aby uzyskać instrukcje dotyczące instalacji. Podczas instalowania usług IIS upewnij się, że zainstalowano również następujące funkcje:
- ASP.NET (w obszarze Usługi sieci World Wide Web - Funkcje tworzenia aplikacji - ASP.NET)
- Śledzenie (w obszarze Usług World Wide Web - Kondycja i Diagnostyka - Śledzenie)
Zaloguj się jako administrator
Upewnij się, że konto używane do logowania jest kontem administratora lub znajduje się w grupie Administratorzy.
Uwaga
Bycie w grupie Administratorzy domyślnie nie przyznaje Ci pełnych uprawnień użytkownika administratora. Musisz uruchomić aplikacje jako administrator, co można zrobić, klikając prawym przyciskiem myszy ikonę aplikacji i wybierając polecenie Uruchom jako administrator.
Tworzenie kopii zapasowej
Przed wykonaniem zadań w poniższych sekcjach należy utworzyć kopię zapasową konfiguracji.
Aby utworzyć kopię zapasową konfiguracji, wykonaj następujące kroki:
Wybierz pozycję Start>Wszystkie programy>Akcesoria.
Kliknij prawym przyciskiem myszy Wiersz polecenia, a następnie wybierz Uruchom jako administrator.
W wierszu polecenia uruchom następujące polecenie:
%windir%\system32\inetsrv\appcmd add backup cleanInstall
Tworzenie przykładowej zawartości
Przejdź do
%systemdrive%\inetpub\wwwroot.Przenieś zawartość do bezpiecznej lokalizacji (w przypadku przywrócenia istniejącej zawartości) lub usuń ją.
Utwórz pusty plik i nadaj mu nazwę test.asp.
W wierszu polecenia przejdź do pliku test.asp w folderze \inetpub\wwwroot.
W pliku test.asp wklej następującą zawartość:
<h2>Failed Request Tracing Lab</h2><br> <br>Today's date is <% response.write(Date()) %>
Wyłącz ASP
Program ASP musi być wyłączony dla tego zadania. ASP jest wyłączone tylko jako przykład i na potrzeby zadań w tym artykule.
Aby wyłączyć ASP
Otwórz Menedżera internetowych usług informacyjnych (IIS).
Kliknij dwukrotnie ISAPI i CGI Restrictions.
Wybierz pozycję Active Server Pages (ASP). W okienku Akcje wybierz pozycję Odmów, aby wyłączyć ASP.
Włącz śledzenie żądań zakończonych niepowodzeniem
Po włączeniu śledzenia żądań, które zakończyło się niepowodzeniem, należy skonfigurować miejsce przechowywania plików dziennika. W tym zadaniu włączysz protokolowanie żądań niepomyślnych dla domyślnej witryny sieci Web i określisz, gdzie umieścić pliki dziennika. Następnie skonfigurujesz błąd, dla którego mają być generowane dzienniki błędów.
Krok 1: Włącz śledzenie żądań niepomyślnych dla witryny i skonfiguruj katalog plików dziennika
Otwórz wiersz polecenia z uprawnieniami użytkownika administratora i przejdź do folderu %systemdrive%\windows\system32\inetsrv.
Uruchom polecenie
inetmgr, aby otworzyć Menedżera usług IIS.W okienku Połączenia rozwiń nazwę maszyny, rozwiń Witryny, a następnie wybierz pozycję Domyślna witryna Sieci Web.
W okienku Akcje, w obszarze Konfiguruj, wybierz pozycję Śledzenie nieudanych żądań.
W oknie dialogowym Edytuj ustawienia śledzenia nieudanych żądań w witrynie sieci Web skonfiguruj następujące ustawienia:
- Zaznacz pole wyboru Włącz.
- Zachowaj wartości domyślne dla innych ustawień.
Wybierz przycisk OK.
Rejestrowanie śledzenia żądań nieudanych jest teraz włączone dla domyślnej witryny sieci Web. Sprawdź plik %windir%\system32\inetsrv\config\applicationHost.config, aby upewnić się, że konfiguracja wygląda następująco:
<system.applicationHost>
<sites>
<!-- site & app defaults -->
<site name="Default Web Site" id="1">
<!-- other site configuration -->
<traceFailedRequestsLogging enabled="true" />
</site>
</sites>
</system.applicationHost>
Krok 2. Konfigurowanie definicji błędów
W tym kroku skonfigurujesz definicje błędów dla adresu URL, w tym obszary do śledzenia. Będziesz rozwiązywać problemy z błędem 404.2 zwracanym przez serwer IIS dla żądań dotyczących rozszerzeń, które nie są jeszcze włączone. Ułatwia to określenie, które określone rozszerzenia należy włączyć.
Otwórz wiersz polecenia z uprawnieniami użytkownika administratora i przejdź do folderu %systemdrive%\windows\system32\inetsrv.
Uruchom polecenie
inetmgr, aby otworzyć Menedżera usług IIS.W okienku Połączenia rozwiń nazwę maszyny, rozwiń Witryny, a następnie wybierz pozycję Domyślna witryna Sieci Web.
Kliknij dwukrotnie reguły śledzenia nieudanych żądań.
Wybierz Zakończ.
W okienku Akcje wybierz pozycję Dodaj.
W kreatorze Dodaj regułę śledzenia nieudanych żądań, na stronie Wybierz zawartość do śledzenia, wybierz Cała zawartość (*). Wybierz Dalej.
Na stronie Definiowanie warunków śledzenia zaznacz pole wyboru Kod stanu i wprowadź wartość 404.2 jako kod stanu do śledzenia.
Wybierz Dalej.
Na stronie Wybieranie dostawców śledzenia, w obszarze Dostawcy, zaznacz pole wyboru Serwer WWW. W obszarze Obszary zaznacz pole wyboru Zabezpieczenia i wyczyść wszystkie pozostałe pola wyboru.
Wygenerowany problem powoduje zgłoszenie zdarzenia śledzenia błędu zabezpieczeń. Ogólnie rzecz biorąc, problemy z uwierzytelnianiem i autoryzacją (w tym problemy z listą ograniczeń ISAPI) można zdiagnozować przy użyciu konfiguracji serwera WWW — obszaru zabezpieczeń do śledzenia. Jednak ponieważ arkusz stylów FREB.xsl pomaga wyróżnić błędy i ostrzeżenia, nadal można użyć konfiguracji domyślnej do rejestrowania wszystkich zdarzeń we wszystkich obszarach i dostawcach. Pod Gadatliwość wybierz Szczegółowe.
Wybierz Zakończ. Powinna zostać wyświetlona następująca definicja domyślnej witryny sieci Web:
Menedżer usług IIS zapisuje konfigurację w %windir%\system32\inetsrv\config\applicationHost.config pliku przy użyciu tagu <location> . Konfiguracja powinna wyglądać następująco:
<location path="Default Web Site">
<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>
</location>
Testowanie i wyświetlanie pliku dziennika żądania niepowodzenia
W tym zadaniu wygenerujesz żądanie, które zakończyło się niepowodzeniem i wyświetlisz wynikowy dziennik śledzenia. Skonfigurowano już IIS do przechwytywania dzienników śledzenia dla żądań http://localhost/*.asp, które kończą się niepowodzeniem o kodzie odpowiedzi HTTP 404.2. Teraz sprawdź, czy działa.
Krok 1. Wygeneruj błąd i plik dziennika błędów i niepowodzeń.
Otwórz nowe okno programu Internet Explorer.
Wprowadź następujący adres:
http://localhost/test.asp.Zostanie wyświetlony błąd "Błąd HTTP 404.2 — nie znaleziono".
Krok 2: Wyświetl plik dziennika nieudanego żądania
Po wygenerowaniu żądania, które zakończyło się niepowodzeniem, otwórz wiersz polecenia z uprawnieniami użytkownika administratora i przejdź do folderu %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.
Uruchom polecenie start , aby uruchomić okno programu Internet Explorer z katalogu.
Zwróć uwagę na kilka rzeczy: gdy usługi IIS zapisują plik dziennika żądań, który zakończył się niepowodzeniem, zapisuje jeden plik na żądanie, które zakończyło się niepowodzeniem. Arkusz stylów freb.xsl jest również zapisywany w jednym egzemplarzu na katalog. Pomaga to w przeglądaniu plików dziennika błędnych żądań (takich jak fr000001.xml w tym przykładzie).
Kliknij prawym przyciskiem myszy plik dziennika błędu 404.2 i wybierz polecenie Otwórz za pomocą>programu Internet Explorer. Jeśli po raz pierwszy otwierasz plik śledzenia nieudanych żądań, musisz dodać about:internet do listy zaufanych witryn, ponieważ skonfigurowano domyślne włączenie zwiększonych zabezpieczeń programu Internet Explorer. Jeśli tak, zobaczysz następujące elementy:
W oknie dialogowym programu Internet Explorer wybierz pozycję Dodaj..., aby dodać pozycję about:Internet do listy zaufanych witryn. Umożliwia to działanie XSL. Po dodaniu funkcji about:internet do listy zaufanych witryn zobaczysz następujące informacje:
Podsumowanie żądania, które zakończyło się niepowodzeniem, jest rejestrowane u góry, wraz z tabelą Błędy i ostrzeżenia, identyfikującą wszelkie zdarzenia, które są OSTRZEŻENIE, BŁĄD lub BŁĄD KRYTYCZNY w poważności. W tym przykładzie poziom zagrożenia OSTRZEŻENIE jest spowodowany ograniczeniem ISAPI. Obraz, który próbowano załadować, to %windir%\system32\inetsrv\asp.dll.
Otwórz pierwotny plik XML bezpośrednio przy użyciu edytora tekstów i przyjrzyj się zawartości każdego zdarzenia.
Podsumowanie
Wykonano dwa zadania: skonfigurowano śledzenie dla nieudanych żądań w celu przechwycenia śladów dla dowolnego żądania, które IIS zwracają z kodem stanu 404.2, i sprawdzono, że IIS przechwyciło ślad dla twojego żądania. Sprawdzono również, że plik dziennika freb.xml nie zawiera żadnych innych żądań dotyczących złożonych żądań, ponieważ żądania nie miały kodu zwracanego 404.2. Po zapoznaniu się z plikiem dziennika błędów ustaliliśmy, że przyczyną błędu było wyłączenie rozszerzenia dla tego żądania. Możesz wypróbować inne strony inne niż HTML (na przykład pliki .gif lub .jpg) i pamiętać, że plik dziennika nie dodaje tych śladów. Możesz również łatwo zmienić tę wartość na 404 lub wychwycić awarię, jeśli żądanie trwa dłużej niż 30 sekund, ustawiając pole timeTaken w definicjach awarii.
Przywracanie kopii zapasowej
Po ukończeniu zadań w tym artykule możesz przywrócić kopię zapasową konfiguracji. Uruchom następujące polecenie z uprawnieniami użytkownika administratora:
%windir%\system32\inetsrv\appcmd restore backup cleanInstall