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


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

Применимо: службы IIS в версиях операционной системы Windows Server 2016 и более поздних версий

Трассировка неудачных запросов — это мощный инструмент для устранения сбоев обработки запросов на веб-сервере службы IIS (IIS), который поставляется с Windows Server 2016 или более поздними версиями. В этой статье приведены инструкции по включению правил трассировки неудачных запросов для отладки сбоев и шагов трассировки в маршрутизации запросов приложений. Дополнительные сведения о правилах трассировки неудачных запросов см. в разделе "Устранение неполадок неудачных запросов" с помощью трассировки в СЛУЖБАх IIS.

Goal

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

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

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

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

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

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

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

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

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

  1. Запустите диспетчер службы IIS (IIS) (inetmgr).

  2. Выберите веб-сайт по умолчанию.

    Снимок экрана: развернутый список сайтов. Веб-сайт по умолчанию выделен.

  3. В области "Действия" в разделе "Настройка" выберите "Трассировка неудачных запросов...".

    Снимок экрана: трассировка неудачных запросов на панели действий.

  4. В диалоговом окне "Изменение параметров трассировки неудачных запросов" веб-сайта установите флажок "Включить".

    Снимок экрана: диалоговое окно

  5. Нажмите ОК, чтобы сохранить изменения.

  6. Выберите веб-сайт по умолчанию.

  7. Дважды щелкните правила трассировки неудачных запросов.

  8. В области "Действия" нажмите кнопку "Добавить...".

    Снимок экрана: окно

    Выберите все содержимое (*) и нажмите кнопку "Далее".

  9. Выберите код состояния: и введите 200-399.

    Снимок экрана: правило трассировки неудачных запросов. Проверяется код состояния.

    Выберите Далее. В приведенной выше конфигурации создано правило трассировки неудачных запросов, которое записывает трассировки, когда код состояния находится в диапазоне от 200 до 399.

  10. Отмените выбор расширения ASP,ASPNET и ISAPI. После выбора WWW-сервера отмените выбор всего в разделе "Области:", за исключением перезаписи и запроса. Так как маршрутизация запросов приложений использует модуль перезаписи URL-адресов для проверки входящих запросов, рекомендуется включить трассировку для маршрутизации запросов приложений (RequestRouting) и модуля переопределения URL-адресов (переопределение URL-адресов).

    Снимок экрана: окно правила трассировки неудачных запросов. W W W Server выбран в разделе

    Дополнительные сведения о трассировках модуля переопределения 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

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

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

Итоги

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