Использование правил трассировки неудачных запросов для устранения неполадок маршрутизации запросов приложений
Применимо к: Службы INTERNET INFORMATION Services 7.0 и более поздних версий
Трассировка неудачных запросов — это мощное средство для устранения ошибок обработки запросов в IIS 7.0 и более поздних версиях. В этой статье содержатся инструкции по включению правил трассировки неудачных запросов для отладки сбоев и шагов трассировки в статье Маршрутизация запросов приложений. Дополнительные сведения о правилах трассировки неудачных запросов см. в статье Устранение неполадок с неудачными запросами с помощью трассировки в IIS 8.5.
Цель
Настройка правил трассировки неудачных запросов и понимание того, что следует искать при устранении неполадок с маршрутизацией запросов приложений.
Предварительные требования
Для этого пошагового руководства требуются следующие предварительные требования:
- IIS 7.0 или более поздней версии в Windows 2008 (любой номер SKU) или более поздней версии с установленной службой ролей трассировки для IIS.
- Маршрутизация запросов приложений (Майкрософт) и зависимые модули.
- Не менее двух серверов приложений с рабочими сайтами и приложениями.
Если маршрутизация запросов приложений не установлена, скачайте ее из Центра загрузки и установите, выполнив действия, описанные в разделе Установка маршрутизации запросов приложений.
Еще одним предварительным условием является использование модуля маршрутизации запросов приложений и настройка маршрутизации запросов приложений. Маршрутизация запросов приложений должна быть в рабочем порядке, прежде чем переходить к следующим разделам.
Шаг 1. Настройка правил трассировки неудачных запросов
Настройте правила трассировки неудачных запросов для маршрутизации запросов приложений с помощью пользовательского интерфейса или командной строки.
Настройка правил трассировки неудачных запросов с помощью пользовательского интерфейса
- Запустите диспетчер служб IIS (inetmgr).
- Выберите Веб-сайт по умолчанию.
- В области Действия в разделе Настройка выберите Трассировка неудачных запросов....
- В диалоговом окне Изменение параметров трассировки неудачных запросов веб-сайта установите флажок Включить .
- Нажмите кнопку ОК , чтобы сохранить изменения.
- Выберите Веб-сайт по умолчанию.
- Дважды щелкните Правила трассировки неудачных запросов.
- В области Действия выберите Добавить....
Выберите Все содержимое (*) и нажмите кнопку Далее. - Выберите Коды состояния: и введите 200–399.
Нажмите кнопку Далее. В приведенной выше конфигурации было создано правило трассировки неудачных запросов, которое записывает трассировки, когда код состояния находится в диапазоне от 200 до 399. - Снимите флажки ASP, ASPNET и расширение ISAPI. Выбрав WWW-сервер, снимите флажок Все элементы в разделе Области:, за исключением перезаписи и RequestRouting. Так как маршрутизация запросов приложений использует модуль перезаписи URL-адресов для проверки входящих запросов, рекомендуется включить трассировку для маршрутизации запросов приложений (RequestRouting) и модуля перезаписи URL-адресов (перезапись URL-адресов).
Дополнительные сведения о трассировках модуля перезаписи URL-адресов см. в разделе Использование трассировки неудачных запросов для правил перезаписи трассировки . - Нажмите Готово.
Настройка правил трассировки неудачных запросов с помощью командной строки
Откройте командную строку с правами администратора.
Перейдите по адресу
%windir%\system32\inetsrv
.Чтобы включить трассировку неудачных запросов на веб-сайте по умолчанию, выполните следующую команду:
appcmd set site "Default Web Site" -traceFailedRequestsLogging.enabled:"true" /commit:apphost
Чтобы настроить правила трассировки неудачных запросов, как показано в пользовательском интерфейсе выше, выполните следующие команды:
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"
Шаг 2. Анализ журналов трассировки неудачных запросов
На этом шаге вы отправите запросы в службу маршрутизации запросов приложений и проанализируете журналы трассировки неудачных запросов.
Просмотр журналов трассировки неудачных запросов
Перейдите в каталог, в котором записываются журналы трассировки неудачных запросов. По умолчанию расположение —
%SystemDrive%\inetpub\Logs\FailedReqLogFiles\
.Измените каталог на папку, соответствующую веб-сайту по умолчанию. По умолчанию это W3SVC1. Если вы не уверены, выберите веб-сайт по умолчанию в диспетчере IIS, а затем выберите Дополнительные параметры... в области Действия . Значение идентификатора указывает соответствующую папку. (Например, идентификатор 1 соответствует W3SVC1).
Если есть КАКИЕ-либо XML-файлы, удалите их, введя следующее:
del *.xml
Отправьте запрос в службу маршрутизации запросов приложений. Если маршрутизация запросов приложений работает правильно, она приводит к получению ответа 200, который находится в диапазоне от 200 до 399, указанном на шаге 1. Таким образом, журналы записываются в указанное выше расположение.
Выведите список файлов в каталоге, чтобы подтвердить запись новых XML-файлов.
Откройте XML-файл. Выберите Сведения о запросе. Выберите Завершить трассировку запроса, а затем выберите Развернуть все. На следующем рисунке показан пример журнала трассировки неудачных запросов для маршрутизации запросов приложений:
Обратите внимание на следующие разделы:
GENERAL_REQUEST_HEADERS:
- Заголовки: отображает заголовок HTTP, полученный маршрутизацией запросов приложений.
ARR_REQUEST_ROUTED:
- WebFarm: указывает имя группы серверов, куда направляется запрос.
- Сервер. Указывает целевой сервер, на который направляется запрос.
- Алгоритм. Указывает, какой алгоритм балансировки нагрузки используется.
- RoutingReason: указывает, почему выбран сервер.
ARR_SERVER_STATS:
- Состояние: доступность целевого сервера.
- TotalRequests: статистика среды выполнения, сколько запросов было отправлено на этот сервер.
- CurrentRequests: статистика среды выполнения по количеству одновременных HTTP-запросов к этому серверу.
- BytesSent: статистика среды выполнения о том, сколько данных в КБ было отправлено на этот сервер.
- BytesReceived: статистика времени выполнения по объему данных в КБ, полученных с этого сервера.
- ResponseTime: статистика времени выполнения по скорости отклика в мс этого сервера.
GENERAL_RESPONSE_HEADERS
- Заголовки: отображает http-заголовок ответа с целевого сервера.
GENERAL_RESPONSE_ENTITY_BUFFER
- Buffer: отображает сущность ответа с целевого сервера.
Ниже перечислены метки времени, указывающие время начала и окончания соответствующих событий для профилирования производительности маршрутизации запросов приложений:
- 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
Если вы собираете журналы трассировки неудачных запросов на ядро сервера, скопируйте журналы с таблицей стилей freb.xsl на компьютер, где доступен браузер.
Сводка
Теперь вы успешно настроили правила трассировки неудачных запросов для маршрутизации запросов приложений. Правила трассировки неудачных запросов можно использовать для устранения неполадок и отладки маршрутизации запросов приложений, а также для понимания решений о маршрутизации, включая алгоритмы балансировки нагрузки, которые были приняты при выборе целевого сервера для заданного запроса.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по