Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: Службы Internet Information Services 8.5 и более поздние версии
Введение
Трассировка на основе запросов доступна как на автономных серверах, на которые выполняются службы IIS, так и в службе приложений Azure. Если вы можете воспроизвести проблему, с которой вы сталкиваетесь, трассировка, основанная на запросах, предоставляет метод для диагностики проблемы и определения причин её возникновения. Такие проблемы, как низкая производительность при некоторых запросах, сбои проверки подлинности в других запросах или ошибки сервера "500" в ASP или ASP.NET, часто бывает сложно расследовать. Вы можете упростить задание, захватив трассировку проблемы при ее возникновении. В этой статье описывается трассировка неудачных запросов на сервере IIS.
Трассировка неудачных запросов предназначена для буферизации событий трассировки запроса и сохранения их на диск только если запрос заканчивается неудачей. Вы предоставляете определение сбоя. Трассировку неудачных запросов можно использовать по следующим причинам:
- Вы хотите знать, почему запросы возвращают определенный код состояния HTTP (например, "401" или "404").
- Запрос занимает много времени для обработки или не отвечает.
В статье описывается выполнение следующих задач:
- Включите модуль трассировки неудачных запросов.
- Настройте семантику файла журнала трассировки неудачных запросов.
- Укажите URL-адрес для обработки трассировки неудачных запросов, включая определения сбоев и области для трассировки.
- Создайте условие сбоя и просмотрите полученную трассировку.
Предварительные требования
Установка функции трассировки для IIS
Установите следующие функции IIS:
- ASP.NET 3.5
- Веб-сервер (IIS)>Веб-сервер>Функции разработки приложений>ASP.NET 3.5
- ASP.NET 4.5
- Веб-сервер (IIS)>Веб-сервер>Функции разработки приложений>ASP.NET 4.5
- Трассировка
- Веб-сервер (IIS)>Веб-сервер>Состояние и диагностика — трассировка
Вход от имени администратора
Убедитесь, что учетная запись, используемая для входа, является учетной записью администратора или находится в группе администраторов.
Примечание.
Если вы входите в группу администраторов, это не гарантирует вам полных прав администратора по умолчанию. Чтобы запустить приложения от имени администратора, щелкните правой кнопкой мыши значок приложения и выберите команду "Запуск от имени администратора".
Создание резервной копии
Прежде чем приступить к работе, создайте резервную копию файлов конфигурации:
Нажмите клавишу с логотипом Windows + X, выберите Терминал (Администратор), если появится диалоговое окно "Контроль учетных записей пользователей (UAC)", выберите Да.
В командной строке выполните следующую команду:
%windir%\system32\inetsrv\appcmd add backup cleanInstallЭта команда создает папку cleanInstall , содержащую файлы конфигурации резервного копирования в %windir%\system32\inetsrv\backup.
Создание примера содержимого
Перейдите к%systemdrive%\inetpub\wwwroot.
Переместите содержимое в безопасное расположение (если вы хотите восстановить существующее содержимое) или удалите его.
Создайте пустой файл и назовите его test.asp.
В командной строке перейдите к файлу test.asp в \inetpub\wwwroot.
В файл test.asp вставьте следующее содержимое:
<h2>Failed Request Tracing Lab</h2><br> <br>Today's date is <% response.write(Date()) %>
Отключение ASP
Чтобы выполнить эту задачу, необходимо отключить ASP. Выполните следующие действия:
Откройте диспетчер IIS и выберите сервер.
Дважды щелкните ISAPI и CGI Ограничения.
В области ограничений ISAPI и CGI выберите "Активные серверные страницы". В области "Действия" выберите "Запретить", чтобы отключить ASP. Страницы активных серверов отображаются как недопустимые.
Включите трассировку невыполненных запросов.
После включения трассировки неудачных запросов необходимо настроить путь к файлам журнала. В этом разделе описано, как включить трассировку неудачных запросов для веб-сайта по умолчанию и указать место хранения файлов журнала. Затем вы настроите сбой для создания журналов сбоев.
Шаг 1. Включение трассировки неудачных запросов для сайта и настройка каталога файлов журнала
Откройте окно командной строки администратора и перейдите к%systemdrive%\windows\system32\inetsrv.
Запустите
inetmgr, чтобы открыть диспетчер IIS.В области "Подключения" разверните имя компьютера, разверните узел "Сайты" и выберите "Веб-сайт по умолчанию".
В области "Действия " перейдите к разделу "Настройка", а затем выберите "Трассировка неудачных запросов"....
В диалоговом окне «Редактирование параметров трассировки неудачных запросов веб-сайта» настройте следующие параметры:
- Установите флажок "Включить".
- Сохраните значения по умолчанию для других параметров.
Нажмите кнопку ОК.
Журнал трассировки неудачных запросов теперь включен для выбора веб-сайта по умолчанию. Проверьте файл%windir%\system32\inetsrv\config\applicationHost.config , чтобы убедиться, что конфигурация похожа на следующий пример:
<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>
Шаг 2. Настройка определений сбоев
На этом шаге вы настроите определения сбоев для вашего URL-адреса, включая разделы для трассировки. Вы устраняете неполадки с кодом состояния "404.2", возвращаемого IIS для любых запросов к расширениям, которые не были включено. Этот шаг помогает определить, какие расширения необходимо включить:
Откройте окно командной строки администратора и перейдите к%systemdrive%\windows\system32\inetsrv.
Запустите
inetmgr, чтобы открыть диспетчер IIS.В области "Подключения" разверните имя компьютера, разверните узел "Сайты" и выберите "Веб-сайт по умолчанию".
Дважды щелкните Правила трассировки сбоев запросов.
В области Действия выберите Добавить.
В мастере добавления правила трассировки неудачных запросов на странице «Указание содержимого для трассировки» выберите «Все содержимое (*)», а затем нажмите «Далее».
На странице "Определение условий трассировки " установите флажок "Код состояния" , а затем введите 404.2 в качестве кода состояния для трассировки.
Выберите Далее.
На странице "Выбор поставщиков трассировки" в разделе "Поставщики" установите флажок "WWW-сервер" и снимите все остальные флажки. В разделе "Области" установите флажок "Безопасность " и снимите все остальные флажки.
Проблема, которая возникает, приводит к возникновению события трассировки ошибок безопасности. Как правило, вы можете диагностировать проблемы аутентификации и авторизации (включая проблемы со списком ограничений ISAPI), используя конфигурацию области безопасности для трассировки в WWW Server. Однако, так как таблица стилей FREB.xsl помогает выделить ошибки и предупреждения, можно по-прежнему использовать конфигурацию по умолчанию для регистрации всех событий во всех областях и поставщиках.
В разделе "Подробность" выберите "Подробный".
Примечание.
По умолчанию при установке ролевой службы трассировки, IIS устанавливает поставщиков трассировки для расширений WWW Server, ASP и ISAPI. Если вы устанавливаете ASP.NET версии 2.0 или более поздней, IIS автоматически добавляет поставщика трассировки ASPNET. Дополнительные поставщики устанавливаются пакетом установщика маршрутизации запросов приложений (ARR), который также устанавливает модуль перезаписи URL-адресов, управление веб-фермой и внешний кэш. Вы можете добавить дополнительные поставщики трассировки с помощью
<add>элемента в элементе<traceProviderDefinitions>.
Нажмите Готово.
Вы увидите следующее определение для веб-сайта по умолчанию.
Диспетчер IIS записывает конфигурацию в %systemdrive%\inetpub\wwwroot\web.config файл с помощью тега <location> . Конфигурация должна выглядеть следующим образом:
<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>
Тестирование и просмотр файла журнала ошибочных запросов
В этом разделе показано, как создать неудачный запрос и просмотреть результирующий журнал трассировки. Вы уже настроили IIS для записи журналов трассировки для HTTP http://localhost/*.asp запросов, которые не выполняются успешно и возвращают код ответа HTTP 404.2. Требуется убедиться, что конфигурация работает.
Шаг 1. Создайте ошибку и файл журнала запросов на отказ
Откройте новое окно Internet Explorer.
Введите
http://localhost/test.asp, и нажмите ВВОД. Отображается сообщение об ошибке HTTP 404.2 — не найдено.
Шаг 2. Просмотр файла журнала запроса на сбой
После создания неудачного запроса откройте проводник и перейдите к%systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.
Примечание.
Когда IIS записывает файл журнала ошибочных запросов, он создает отдельный файл для каждого ошибочного запроса. Он также записывает одну таблицу стилей freb.xsl на каталог. Эта таблица стилей помогает просматривать полученные файлы журнала запросов на сбои (например, fr000001.xml в этом примере).
Щелкните правой кнопкой мыши файл журнала для ошибки "404.2", а затем выберите "Открыть с помощью>Internet Explorer". Если вы впервые открываете файл трассировки неудачных запросов, необходимо добавить about:internet в список надежных сайтов. Этот шаг необходим, так как конфигурация расширенной безопасности Internet Explorer включена по умолчанию. В этой ситуации появится диалоговое окно, содержащее запрос "Продолжить", когда содержимое веб-сайта заблокировано .
В диалоговом окне Internet Explorer добавьте about:internet в список доверенных сайтов. Выполните следующие действия:
- Выберите меню "Сервис" , а затем выберите "Параметры браузера".
- Выберите вкладку Безопасность.
- Выберите "Надежная зона", а затем выберите "Сайты". Этот шаг обеспечивает работу XSL.
После добавления about:internet в список доверенных сайтов вы увидите страницу сводки запросов.
Сводка неудачного запроса регистрируется вверху. Таблица Ошибок и Предупреждений определяет все события, помеченные по степени серьезности
WARNING,ERRORилиCRITICAL ERROR. В этом примере уровень критичностиWARNINGприсваивается из-за ограничения ISAPI. Файл, который вы пытались загрузить, — это %windir%\system32\inetsrv\asp.dll.Откройте необработанный XML-файл непосредственно с помощью текстового редактора и просмотрите содержимое события.
Итоги
Вы выполнили две задачи:
- Настройка трассировки неудачных запросов для захвата данных по любому запросу, который возвращает IIS и имеет код состояния 404.2.
- Проверка того, что IIS захватил трассировку для запроса
Вы также проверили, что файл журнала freb.xml не содержит запросов, отличных от тех запросов, которые показывают код возврата 404.2. При обращении к файлу журнала сбоев вы определили, что причина сбоя заключалась в том, что расширение отключено для этого запроса. Вы можете попробовать другие страницы, отличные от HTML (например, файлы .gif или .jpg), и убедиться в том, что файл журнала не добавляет эти записи. Вы также можете легко изменить это событие на событие "404". Если запрос занимает более 30 секунд, можно записать ошибку, задав поле timeTaken в качестве значения failureDefinitions .
Восстановление резервной копии
После выполнения задач в этой статье восстановите резервную копию конфигурации. Выполните следующую команду, получив права администратора:
%windir%\system32\inetsrv\appcmd restore backup cleanInstall