Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Интернет-информационные службы 7.0
Примечание.
Эта статья относится к IIS 7.0. Для более новых версий см. Устранение неполадок неудачных запросов с помощью трассировки в IIS 8.5.
Трассировка на основе запросов доступна как на автономных серверах IIS, так и в веб-приложениях Azure и позволяет определить, что именно происходит с вашими запросами и почему, если вы можете воспроизвести проблему, которую вы испытываете. Проблемы, такие как низкая производительность при выполнении некоторых запросов, сбои, связанные с проверкой подлинности, в других запросах, либо ошибка сервера 500 в ASP или ASP.NET, часто бывает трудно устранить, если вы не зафиксировали трассировку проблемы при её возникновении. В этой статье описывается трассировка неудачных запросов на сервере IIS. Сведения об этом с веб-приложениями Azure см. в статье "Устранение неполадок приложения в службе приложение Azure с помощью Visual Studio".
Трассировка неудачных запросов предназначена для буферизации событий трассировки для запроса, и эти события записываются на диск только в случае неудачи запроса, когда вы предоставляете определение того, что считается "неудачей". Если вы хотите знать, почему возникают ошибки 404.2 или запросы начинают зависать, используйте трассировку неудачных запросов.
Ниже приведены иллюстрированные в этой статье задачи.
- Включение модуля трассировки неудачных запросов.
- Настройка семантики журнала трассировки неудачных запросов.
- Определение URL-адреса, для которого требуется сохранить трассировки неудачных запросов, включая определения сбоев и области для трассировки.
- Создание условия сбоя и анализ результирующей трассировки.
Предварительные требования
Установить IIS
Перед выполнением задач, описанных в этой статье, необходимо установить IIS 7 или более поздней версии. Перейдите по адресу http://localhost/
, чтобы проверить, установлены ли IIS. Если службы IIS не установлены, инструкции по установке см. в разделе "Установка IIS в Windows Server 2008 ". При установке IIS убедитесь, что также установлены следующие функции:
- ASP.NET (под Службы Всемирной паутины - Функции разработки приложений - ASP.NET)
- Трассировка (в разделе World Wide Web Services - Работоспособность и диагностика - Трассировка)
Вход от имени администратора
Убедитесь, что учетная запись, используемая для входа, является учетной записью администратора или находится в группе "Администраторы".
Примечание.
Вхождение в группу "Администраторы" не предоставляет вам полные права администратора по умолчанию. Вы должны запускать приложения от имени администратора, которые можно сделать, щелкнув правой кнопкой мыши значок приложения и выбрав "Запуск от имени администратора".
Создание резервной копии
Перед выполнением задач в следующих разделах необходимо создать резервную копию конфигурации.
Чтобы создать резервную копию конфигурации, выполните следующие действия.
Выберите ">>" Аксессуары.
Щелкните правой кнопкой мыши командную строку и выберите команду "Запустить от имени администратора".
В командной строке выполните следующую команду:
%windir%\system32\inetsrv\appcmd add backup cleanInstall
Создание примера содержимого
Перейдите к
%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 должен быть отключен для этой задачи. ASP отключен только в качестве примера и в целях задач в этой статье.
Отключение ASP
Откройте диспетчер служб IIS.
Дважды щелкните ограничения ISAPI и CGI.
Выберите страницы активных серверов. В области "Действия" выберите "Запретить", чтобы отключить ASP.
Включите трассировку невыполненных запросов.
После включения трассировки неудачных запросов необходимо настроить расположение файлов журнала. В этой задаче вы включите трассировку неудачных запросов для веб-сайта по умолчанию и укажите место размещения файлов журнала. Затем вы настроите сбой, для которого создаются журналы сбоев.
Шаг 1. Включение трассировки неудачных запросов для сайта и настройка каталога файлов журнала
Откройте командную строку с правами администратора и перейдите в папку %systemdrive%\windows\system32\inetsrv.
Запустите
inetmgr
, чтобы открыть диспетчер IIS.В области "Подключения" разверните имя компьютера, разверните узел "Сайты" и выберите "Веб-сайт по умолчанию".
В панели "Действия", в разделе "Настройка", выберите "Трассировка ошибок запросов".
В диалоговом окне "Изменить параметры трассировки неудачных запросов веб-сайта" настройте следующее:
- Установите флажок "Включить".
- Сохраните значения по умолчанию для других параметров.
Нажмите кнопку ОК.
Теперь ведется журнал трассировки неудачных запросов для сайта по умолчанию. Проверьте файл %windir%\system32\inetsrv\config\applicationHost.config, чтобы убедиться, что конфигурация выглядит следующим образом:
<system.applicationHost>
<sites>
<!-- site & app defaults -->
<site name="Default Web Site" id="1">
<!-- other site configuration -->
<traceFailedRequestsLogging enabled="true" />
</site>
</sites>
</system.applicationHost>
Шаг 2. Настройка определений сбоев
На этом этапе вы будете настраивать определения сбоев для вашего URL-адреса, включая сферы, которые будут отслеживаться. Вы будете устранять неполадки 404.2, возвращаемой службами IIS при запросах к расширениям, которые еще не включены. Это помогает определить, какие расширения необходимо включить.
Откройте командную строку с правами администратора и перейдите в папку %systemdrive%\windows\system32\inetsrv.
Запустите
inetmgr
, чтобы открыть диспетчер IIS.В области "Подключения" разверните имя компьютера, разверните узел "Сайты" и выберите "Веб-сайт по умолчанию".
Дважды щелкните Правила трассировки неудачных запросов.
Нажмите Готово.
В области "Действия" нажмите кнопку "Добавить".
В мастере добавления правила трассировки неудачных запросов на странице "Указание содержимого для трассировки" выберите все содержимое (*). Выберите Далее.
На странице «Определение условий трассировки» установите флажок «Код состояния» и введите 404.2 в качестве кода состояния для трассировки.
Выберите Далее.
На странице "Выбор поставщиков трассировки", в разделе "Поставщики", установите флажок "WWW-сервер". В разделе "Области" установите флажок "Безопасность " и снимите все остальные флажки.
Возникающая проблема приводит к возникновению события трассировки ошибок безопасности. Как правило, проблемы проверки подлинности и авторизации (включая проблемы с списком ограничений ISAPI) можно диагностировать с помощью конфигурации раздела безопасности для трассировки в WWW Server. Однако, так как таблица стилей FREB.xsl помогает выделить ошибки и предупреждения, можно по-прежнему использовать конфигурацию по умолчанию для регистрации всех событий во всех областях и поставщиках. В разделе Подробность выберите Подробный.
Нажмите Готово. Вы увидите следующее определение для веб-сайта по умолчанию:
Диспетчер IIS записывает конфигурацию в %windir%\system32\inetsrv\config\applicationHost.config
файл с помощью тега <location>
. Конфигурация должна выглядеть следующим образом:
<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>
Проверка и просмотр файла журнала ошибок
В этой задаче вы создадите неудачный запрос и просмотрите результирующий журнал трассировки. Вы уже настроили IIS для записи журналов трассировки для http://localhost/*.asp
запросов, которые приводят к ошибке с кодом ответа HTTP 404.2. Теперь убедитесь, что он работает.
Шаг 1. Создание ошибки и файла журнала запросов на сбой
Откройте новое окно Internet Explorer.
Введите следующий адрес:
http://localhost/test.asp
Вы получите ошибку "Ошибка HTTP 404.2 — не найдена".
Шаг 2. Просмотр файла журнала запроса на сбой
Теперь, когда вы создали неудачный запрос, откройте командную строку с правами администратора и перейдите к папке %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.
Запустите запуск , чтобы запустить окно Internet Explorer из каталога.
Обратите внимание на несколько моментов: когда IIS записывает файл журнала неудачных запросов, он записывает один файл на неудачный запрос. Стилевая таблица freb.xsl также написана по одному на каталог. Это помогает при просмотре результирующего файла журнала запросов на сбой (например, fr000001.xml в этом примере).
Щелкните правой кнопкой мыши файл журнала для ошибки 404.2 и выберите "Открыть с помощью>Internet Explorer". Если это первый раз, когда вы открываете файл трассировки неудачных запросов, необходимо добавить about:internet в список доверенных сайтов, так как конфигурация расширенной безопасности Internet Explorer включена по умолчанию. Если да, вы увидите следующее:
В диалоговом окне Internet Explorer нажмите кнопку "Добавить", чтобы добавить сведения о:Internet в список доверенных сайтов. Это позволяет XSL работать корректно. После добавления about:internet в список доверенных сайтов вы увидите следующее:
Резюме неудачного запроса регистрируется вверху, с таблицей Ошибки и предупреждения, которая идентифицирует все события, имеющие ПРЕДУПРЕЖДЕНИЯ, ОШИБКИ или КРИТИЧЕСКИЕ ОШИБКИ в степени серьезности. В этом примере уровень серьезности WARNING обусловлен ограничением ISAPI. Изображение, которое вы пытались загрузить, было %windir%\system32\inetsrv\asp.dll.
Откройте необработанный XML-файл непосредственно с помощью текстового редактора и просмотрите содержимое каждого события.
Итоги
Вы выполнили две задачи: настроили трассировку неудачных запросов в IIS для захвата трассировки любого запроса, которому IIS возвращает код состояния 404.2, и убедились, что IIS захватил трассировку для вашего запроса. Вы также проверили, что файл журнала freb.xml не содержал других запросов для выполненных запросов, так как запросы не содержали код возврата 404.2. При обращении к файлу журнала сбоев вы определили, что причина сбоя заключалась в том, что расширение было отключено для этого запроса. Вы можете попробовать другие страницы, отличные от HTML (например, .gif или .jpg файлы) и отметить, что файл журнала не добавляет такие следы. Вы также можете легко изменить это на код состояния 404 или зафиксировать сбой, если запрос занимает более 30 секунд, задав поле timeTaken в ваших определениях сбоев.
Восстановление резервной копии
Теперь, когда вы выполнили задачи в этой статье, вы можете восстановить резервную копию конфигурации. Выполните следующую команду с правами администратора:
%windir%\system32\inetsrv\appcmd restore backup cleanInstall