Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: службы IIS
Одним из отличных функций устранения неполадок, встроенных в службы IIS (IIS), является трассировка неудачных запросов. Эта функция позволяет настраивать правила трассировки на сервере, которые создают подробные файлы журналов устранения неполадок для определяемых вами условий сбоя. Например, можно записать сведения о сбоях проверки подлинности, создав правила трассировки, создающие файлы журналов для ошибок HTTP 401.
Трассировка неудачных запросов в IIS может быть настроена для пассивной трассировки сбоев. Это означает, что вы можете добавить правила трассировки в СЛУЖБЫ IIS, которые будут создавать файлы журналов при возникновении ошибок, даже если вы не активно отслеживаете сервер. Например, в этой статье показано, как создать правило трассировки, которое будет создавать журналы трассировки при возникновении ошибки HTTP 500. Этот метод пассивной трассировки называется трассировкой no-repro, что означает, что можно периодически проверять журналы сервера, чтобы проверить, произошли ли какие-либо сбои, а затем предпринять действия только при создании журналов IIS.
Работа с пользователем контроль доступа
Чтобы убедиться, что вы выполните действия, описанные в этой статье, используя учетную запись с полными правами администратора, используйте один из следующих методов:
- Войдите на компьютер с помощью учетной записи локального администратора.
- Если вы вошли с помощью учетной записи с правами администратора вместо учетной записи локального администратора, откройте все приложения и все сеансы командной строки с помощью параметра "Запуск от имени администратора ".
Эти условия необходимы, так как компонент безопасности управления учетными записями пользователей (UAC) в Windows запрещает административный доступ к параметрам конфигурации IIS. Дополнительные сведения о контроле учетных записей см. в разделе Контроль учетных записей.
Установка трассировки неудачных запросов
Трассировка неудачных запросов не устанавливается по умолчанию в службах IIS. Установите трассировку неудачных запросов в соответствии с вашей версией Windows.
Операционная система клиента Windows
- Выберите Пуск>Панель управления.
- В панель управления выберите "Программы и компоненты", чтобы включить или отключить компоненты>Windows.
- Разверните службы IIS> World Wide Web Services>Health and Diagnostics.
- Нажмите кнопку "Трассировка" и нажмите кнопку "ОК".
Операционная система Windows Server
- Выберите "Пуск", выберите пункт "Администрирование" и выберите диспетчер сервера.
- В области иерархии диспетчер сервера разверните узел "Роли" и выберите веб-сервер (IIS).
- В области веб-сервера (IIS) прокрутите страницу до раздела "Службы ролей" и выберите "Добавить службы ролей".
- На странице "Выбор служб ролей" мастера добавления служб ролей выберите "Трассировка" и нажмите кнопку "Далее".
- На странице "Подтверждение выбора установки" нажмите кнопку "Установить".
- На странице "Результаты" нажмите кнопку "Закрыть".
Дополнительные сведения об установке трассировки неудачных запросов для IIS см. в трассировке трассировки трассировки><.
Включение трассировки неудачных запросов
- Выберите "Пуск", наведите указатель на администрирование и выберите диспетчер службы IIS (IIS).
- В области "Подключения" выберите подключение сервера, сайт, приложение или каталог, для которого требуется настроить трассировку неудачных запросов.
- В области "Действия" выберите "Трассировка неудачных запросов" ...
- Настройте следующие параметры в диалоговом окне "Изменение параметров трассировки неудачного запроса" веб-сайта:
- Установите флажок "Включить", чтобы включить трассировку.
- Оставьте значение по умолчанию или введите новый каталог, в котором требуется хранить файлы журнала неудачных запросов в поле "Каталог ".
- Введите количество файлов трассировки неудачных запросов, которые нужно сохранить в поле "Максимальное количество файлов трассировки".
- Нажмите ОК.
Примечание.
Вы можете настроить параметр для классического ASP, ASP.NET или для других конкретных условий, но универсальное правило для ошибок HTTP 500 полезно для обнаружения различных условий ошибок на веб-сервере.
Вы также можете включить трассировку неудачных запросов из командной строки с помощью программы AppCmd.exe со следующим синтаксисом:
appcmd.exe set config -section:system.applicationHost/sites /[name='Default Web Site'].traceFailedRequestsLogging.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /[name='Default Web Site'].traceFailedRequestsLogging.directory:"%SystemDrive%\inetpub\logs\FailedReqLogFiles" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /[name='Default Web Site'].traceFailedRequestsLogging.maxLogFiles:"50" /commit:apphost
Устранение классических ошибок ASP
В этом разделе мы создадим несколько ошибок с помощью классического ASP, чтобы изучить, как трассировка неудачных запросов помогает выявить потенциальные проблемы. Несмотря на то, что эти примеры предназначены для конкретных обстоятельств, когда вы знаете причину сбоя, можно использовать методы, представленные для устранения неполадок, когда причина сбоя неизвестна.
Устранение ошибок HTTP 500
СЛУЖБЫ IIS возвращают ошибки HTTP 500, когда страницы ASP не выполняются, и без функции трассировки неудачных запросов IIS эти ошибки HTTP 500 могут быть трудно устранить неполадки. Это связано с тем, что ошибки ASP обычно возникают, когда вы не активно устраняете неполадки системы, поэтому иногда ваш единственный вариант заключается в поиске журналов действий IIS и надежде, что модуль ASP возвращает дополнительные сведения в записях журнала для неудачных запросов. В следующем примере, использующего трассировку неудачных запросов, у вас есть подробная запись об ошибке, которую можно использовать для устранения неполадок.
Добавление правила трассировки для ошибок HTTP 500
Следующие действия по настройке правила трассировки неудачных запросов для ошибок HTTP 500, которые используются позже для устранения классических сообщений об ошибках ASP:
- Выберите "Пуск", наведите указатель на администрирование и выберите диспетчер службы IIS (IIS).
- В области "Подключения" перейдите к подключению, сайту, приложению или каталогу, для которого требуется настроить трассировку неудачных запросов.
- На панели "Главная" дважды щелкните правила трассировки неудачных запросов.
- В области "Действия" нажмите кнопку "Добавить...
- На странице "Указание содержимого для трассировки" мастера правила трассировки неудачных запросов обычно выбирается тип контента, который требуется трассировать. В этом случае примите значение по умолчанию для всего содержимого, а затем нажмите кнопку "Далее".
- На странице "Определение условий трассировки" введите 500 в текстовом поле "Код состояния" для трассировки ошибок HTTP 500 и нажмите кнопку "Далее".
- На странице "Выбор поставщиков трассировки" примите значения по умолчанию и нажмите кнопку "Готово".
Создание страницы, которая вызывает недопустимый класс COM
В этом разделе рассматривается страница ASP, которая пытается создать экземпляр недопустимого класса COM, и эта ситуация чаще всего создается путем проверки допустимого класса COM. Чтобы проверить эту проблему, сохраните следующий код ASP как Bad_class.asp в папке wwwroot веб-сайта, где вы включили трассировку неудачных запросов для ошибок HTTP 500:
<html>
<body>
<h1>Bad Class</h1>
<%
Set objObject = CreateObject("Bad.Class.Name")
%>
</body>
</html>
При использовании веб-браузера для перехода к этому файлу служба IIS должна вернуть сообщение об ошибке HTTP 500, и службы IIS создадут журнал трассировки неудачных запросов, созданный в папке %SystemDrive%\Inetpub\FailedRequestLogFiles\W3SVCnnn по умолчанию, где W3SVCnnn содержит уникальный идентификатор веб-сайта, который указан в диспетчере IIS. Журналы трассировки неудачных запросов — ЭТО XML-файлы, а службы IIS создают XSL-файл, который преобразует XML-файл в формат презентации, который можно открыть в Internet Explorer.
Чтение журнала трассировки в Internet Explorer
При использовании Internet Explorer или режима IE в браузере Edge для открытия файла журнала трассировки неудачных запросов различные сведения отображаются в сводке запроса. Эта сводка содержит общие сведения о среде для условия сбоя, например URL-адреса выполнения, пула приложений, типа проверки подлинности и имени пользователя и других сведений. Обратите внимание, что причина сбоя — код состояния, и что состояние является ошибкой HTTP 500.
В разделе "Ошибки и предупреждение" сводки отображается ссылка трассировки представления, как показано на следующем рисунке:
При выборе ссылки трассировки представления браузер переходит к разделу трассировки , в которой произошел сбой скрипта ASP. Если развернуть отдельные события трассировки, можно просмотреть конкретные сведения о событии, например путь к физическому файлу, номер строки, код ошибки ASP и описание, а также фрагмент кода ASP, вызвавшего сбой, который в данном случае был попыткой создать недопустимый класс COM.
Пример показан на следующем рисунке:
Устранение неполадок медленных страниц
Трассировка неудачных запросов можно настроить для создания файлов журналов для страниц, превышающих заданный интервал времени, а не только для ошибок HTTP. В практическом примере, если веб-пользователи жалуются на то, что части веб-сайта кажутся медленными, но они не знают, какие страницы, как представляется, затронуты, можно создать правило трассировки для интервала времени, чтобы создать файл журнала, когда все страницы превышают этот интервал. Это позволяет сузить область устранения неполадок до всех затронутых страниц, ожидая, чтобы СЛУЖБЫ IIS создавали файлы журналов, которые перечисляют страницу. Без трассировки неудачных запросов можно запросить журналы действий IIS на страницы, которые требуют длительного времени для выполнения, но это только сокращает область до списка страниц, в которых возникает проблема, а не к самой проблеме. В следующем примере вы найдете источник сбоя на медленной странице.
Добавление правила трассировки для медленного содержимого
Ниже описано, как настроить правило трассировки неудачных запросов для запросов, превышающих определенный период времени, который будет использоваться позже для устранения неполадок медленных страниц ASP.
- Выберите "Пуск", наведите указатель на администрирование и выберите диспетчер службы IIS (IIS).
- В области "Подключения" перейдите к подключению, сайту, приложению или каталогу, для которого требуется настроить трассировку неудачных запросов.
- На панели "Главная" дважды щелкните правила трассировки неудачных запросов.
- Выделите правило, созданное в предыдущем примере, и нажмите кнопку "Удалить " на панели "Действия ".
- В области "Действия" нажмите кнопку "Добавить...
- На странице "Указание содержимого для трассировки" мастера правила трассировки неудачных запросов обычно выбирается тип контента, который требуется трассировать. В этом случае примите значение по умолчанию для всего содержимого, а затем нажмите кнопку "Далее".
-
На странице "Определение условий трассировки":
- Очистить коды состояния.
- Выберите время (в секундах).
- Введите 5 для количества секунд.
- Выберите Далее.
- На странице "Выбор поставщиков трассировки" примите значения по умолчанию и нажмите кнопку "Готово".
Создание страницы, которая бесконечно цикличена
В этом условии ошибки вы просматриваете страницу, которая цикличена бесконечно. Эта проблема часто возникает, когда сеанс пользователя не может правильно выйти из цикла, например, когда код циклит по записям списка в таблице базы данных. Чтобы проверить эту проблему, сохраните следующий код ASP как Slow_page.asp в папке wwwroot веб-сайта, где включена трассировка неудачных запросов:
<html>
<body>
<h1>Slow Page</h1>
<%
Do
If Response.IsClientConnected = False Then
Exit Do
End If
Loop
%>
</body>
</html>
При использовании веб-браузера для перехода к этому файлу в веб-браузере не должно появиться никаких ошибок, но браузер может никогда не возвращать страницу и в конечном итоге истекает время ожидания.
Примечание.
Эта страница записывается для выхода из цикла после закрытия веб-браузера. Если вы хотите выйти из цикла до достижения времени ожидания скрипта, необходимо вручную закрыть браузер через десять секунд.
Через пять секунд СЛУЖБЫ IIS создадут журнал трассировки неудачных запросов в папке %SystemDrive%\Inetpub\FailedRequestLogFiles\W3SVCnnn по умолчанию, где W3SVCnnn содержит уникальный идентификатор, как указано в диспетчере IIS, для веб-сайта.
Чтение журнала трассировки в Internet Explorer
Как показано в предыдущем примере, при использовании internet Explorer или режима IE в браузере Microsoft Edge для открытия файла журнала трассировки неудачных запросов важные сведения отображаются в сводке запроса. Эта сводка содержит общие сведения о среде для условия сбоя, например URL-адреса выполнения, пула приложений, типа проверки подлинности и имени пользователя и других сведений. Обратите внимание, что причиной сбоя было время, затраченное на время, и что время было немного более пяти секунд, что было время, введенное в правило трассировки неудачных запросов.
Примечание.
Вы также заметите, что код состояния HTTP для ответа был HTTP 200, который является успешным ответом. Это один из факторов, которые часто затрудняют диагностику медленных страниц- ответов, что делает их более сложными для поиска.
В разделе "Ошибки и предупреждение" сводки отображается ссылка трассировки представления, как показано на следующем рисунке:
При выборе ссылки трассировки представления браузер переходит в раздел трассировки, в которой произошел сбой скрипта ASP. Если развернуть отдельные события трассировки, можно просмотреть конкретные сведения о событии, например путь к физическому файлу, номер строки, код ошибки ASP и описание, а также фрагмент кода ASP, который выполнялся при создании файла журнала. Используя эти сведения, вы можете проверить страницу ASP и найти строку кода, выполняемую внутри никогда не завершающегося цикла.
Пример показан на следующем рисунке:
Дополнительная информация
Дополнительные сведения о трассировке неудачных запросов в IIS см. в следующих статьях: