Поделиться через


Использование правил трассировки неудачных запросов для устранения неполадок маршрутизации запросов приложений

Применимо к: Службы INTERNET INFORMATION Services 7.0 и более поздних версий

Трассировка неудачных запросов — это мощное средство для устранения ошибок обработки запросов в IIS 7.0 и более поздних версиях. В этой статье содержатся инструкции по включению правил трассировки неудачных запросов для отладки сбоев и шагов трассировки в статье Маршрутизация запросов приложений. Дополнительные сведения о правилах трассировки неудачных запросов см. в статье Устранение неполадок с неудачными запросами с помощью трассировки в IIS 8.5.

Цель

Настройка правил трассировки неудачных запросов и понимание того, что следует искать при устранении неполадок с маршрутизацией запросов приложений.

Предварительные требования

Для этого пошагового руководства требуются следующие предварительные требования:

  • IIS 7.0 или более поздней версии в Windows 2008 (любой номер SKU) или более поздней версии с установленной службой ролей трассировки для IIS.
  • Маршрутизация запросов приложений (Майкрософт) и зависимые модули.
  • Не менее двух серверов приложений с рабочими сайтами и приложениями.

Если маршрутизация запросов приложений не установлена, скачайте ее из Центра загрузки и установите, выполнив действия, описанные в разделе Установка маршрутизации запросов приложений.

Еще одним предварительным условием является использование модуля маршрутизации запросов приложений и настройка маршрутизации запросов приложений. Маршрутизация запросов приложений должна быть в рабочем порядке, прежде чем переходить к следующим разделам.

Шаг 1. Настройка правил трассировки неудачных запросов

Настройте правила трассировки неудачных запросов для маршрутизации запросов приложений с помощью пользовательского интерфейса или командной строки.

Настройка правил трассировки неудачных запросов с помощью пользовательского интерфейса

  1. Запустите диспетчер служб IIS (inetmgr).
  2. Выберите Веб-сайт по умолчанию.
    Снимок экрана: развернутый список сайтов. Веб-сайт по умолчанию выделен.
  3. В области Действия в разделе Настройка выберите Трассировка неудачных запросов....
    Снимок экрана: трассировка неудачных запросов на панели
  4. В диалоговом окне Изменение параметров трассировки неудачных запросов веб-сайта установите флажок Включить .
    Снимок экрана: диалоговое окно
  5. Нажмите кнопку ОК , чтобы сохранить изменения.
  6. Выберите Веб-сайт по умолчанию.
  7. Дважды щелкните Правила трассировки неудачных запросов.
  8. В области Действия выберите Добавить....
    Снимок экрана: окно добавления правила трассировки неудачных запросов. Выбрано все содержимое.
    Выберите Все содержимое (*) и нажмите кнопку Далее.
  9. Выберите Коды состояния: и введите 200–399.
    Снимок экрана: добавление правила трассировки неудачных запросов. Проверяется код состояния.
    Нажмите кнопку Далее. В приведенной выше конфигурации было создано правило трассировки неудачных запросов, которое записывает трассировки, когда код состояния находится в диапазоне от 200 до 399.
  10. Снимите флажки ASP, ASPNET и расширение ISAPI. Выбрав WWW-сервер, снимите флажок Все элементы в разделе Области:, за исключением перезаписи и RequestRouting. Так как маршрутизация запросов приложений использует модуль перезаписи URL-адресов для проверки входящих запросов, рекомендуется включить трассировку для маршрутизации запросов приложений (RequestRouting) и модуля перезаписи URL-адресов (перезапись URL-адресов).
    Снимок экрана: окно
    Дополнительные сведения о трассировках модуля перезаписи URL-адресов см. в разделе Использование трассировки неудачных запросов для правил перезаписи трассировки .
  11. Нажмите Готово.

Настройка правил трассировки неудачных запросов с помощью командной строки

  1. Откройте командную строку с правами администратора.

  2. Перейдите по адресу %windir%\system32\inetsrv.

  3. Чтобы включить трассировку неудачных запросов на веб-сайте по умолчанию, выполните следующую команду:

    appcmd set site "Default Web Site" -traceFailedRequestsLogging.enabled:"true" /commit:apphost
    
  4. Чтобы настроить правила трассировки неудачных запросов, как показано в пользовательском интерфейсе выше, выполните следующие команды:

    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. Анализ журналов трассировки неудачных запросов

На этом шаге вы отправите запросы в службу маршрутизации запросов приложений и проанализируете журналы трассировки неудачных запросов.

Просмотр журналов трассировки неудачных запросов

  1. Перейдите в каталог, в котором записываются журналы трассировки неудачных запросов. По умолчанию расположение — %SystemDrive%\inetpub\Logs\FailedReqLogFiles\.

  2. Измените каталог на папку, соответствующую веб-сайту по умолчанию. По умолчанию это W3SVC1. Если вы не уверены, выберите веб-сайт по умолчанию в диспетчере IIS, а затем выберите Дополнительные параметры... в области Действия . Значение идентификатора указывает соответствующую папку. (Например, идентификатор 1 соответствует W3SVC1).

  3. Если есть КАКИЕ-либо XML-файлы, удалите их, введя следующее:

    del *.xml
    
  4. Отправьте запрос в службу маршрутизации запросов приложений. Если маршрутизация запросов приложений работает правильно, она приводит к получению ответа 200, который находится в диапазоне от 200 до 399, указанном на шаге 1. Таким образом, журналы записываются в указанное выше расположение.

  5. Выведите список файлов в каталоге, чтобы подтвердить запись новых XML-файлов.

  6. Откройте XML-файл. Выберите Сведения о запросе. Выберите Завершить трассировку запроса, а затем выберите Развернуть все. На следующем рисунке показан пример журнала трассировки неудачных запросов для маршрутизации запросов приложений:
    Снимок экрана: окно браузера с запросом диагностики для примера веб-сайта на вкладке.

  7. Обратите внимание на следующие разделы:

    • 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 на компьютер, где доступен браузер.

Сводка

Теперь вы успешно настроили правила трассировки неудачных запросов для маршрутизации запросов приложений. Правила трассировки неудачных запросов можно использовать для устранения неполадок и отладки маршрутизации запросов приложений, а также для понимания решений о маршрутизации, включая алгоритмы балансировки нагрузки, которые были приняты при выборе целевого сервера для заданного запроса.