IIS 7 - трассировка HTTP-запросов

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 07:15, 11 июля 2008 (править)
Dmach (Обсуждение | вклад)
м
← К предыдущему изменению
Версия 07:16, 11 июля 2008 (править) (отменить)
Dmach (Обсуждение | вклад)
м (Общий вид)
К следующему изменению →
Строка 3: Строка 3:
Веб-сервер IIS7 позволяет выполнять детальную трассировку исполнения HTTP-запроса, предоставляя полную информацию о процессе обработки HTTP-запроса на всех уровнях модулей IIS. Обычно эта функционалность требуется программистам, разработчикам сайта для отладки кода скриптов или подключаемых модулей, если проблема на их стороне не воспроизводится и отлажена быть не может. Веб-сервер IIS7 позволяет выполнять детальную трассировку исполнения HTTP-запроса, предоставляя полную информацию о процессе обработки HTTP-запроса на всех уровнях модулей IIS. Обычно эта функционалность требуется программистам, разработчикам сайта для отладки кода скриптов или подключаемых модулей, если проблема на их стороне не воспроизводится и отлажена быть не может.
-В качестве примера демонстрируем несколько файлов трассировки: в файле [http://test.iis7.ru/trace/fr000001.xml fr000001.xml] трассировка исполнения запроса с кодом ответа 200, в файле [http://test.iis7.ru/trace/fr000002.xml fr000002.xml] с кодом ответа 404. Файлы трассировки с расширением .XML имеет смысл открывать браузером [http://www.microsoft.com/windows/products/winfamily/ie/default.mspx Internet Exolorer 7], другие браузеры с данными файлами совместимы в меньшей степени (вообще не совместимы). Вы так же можете смотреть данные файлы любым текстовым редактором или редактором XML, но это не наглядно и менее удобно. Скачать сами файлы можно тут - [http://test.iis7.ru/trace.zip trace.zip].+В качестве примера демонстрируем несколько файлов трассировки:
 +* [http://test.iis7.ru/trace/fr000001.xml fr000001.xml] - трассировка исполнения запроса с кодом ответа 200
 +* [http://test.iis7.ru/trace/fr000002.xml fr000002.xml] - с кодом ответа 404.
 + 
 +Файлы трассировки с расширением .XML имеет смысл открывать браузером [http://www.microsoft.com/windows/products/winfamily/ie/default.mspx Internet Exolorer 7], другие браузеры с данными файлами совместимы в меньшей степени (вообще не совместимы). Вы так же можете смотреть данные файлы любым текстовым редактором или редактором XML, но это не наглядно и менее удобно. Скачать сами файлы можно тут - [http://test.iis7.ru/trace.zip trace.zip].
'''Важно понимать''', что трассировка запросов не является средством ведения логов веб-сервера и не предназначена для этого. Это именно средство получения информации для решения некоторой проблемы. Использовать трассировку в качестве лог-файлов веб-сервера '''нельзя''', для получения лог-фалов веб-сервера IIS посмотрите, пожалуйста, статью [http://www.1gb.ru/services_logs.php доступ к логам веб-сервера]. '''Важно понимать''', что трассировка запросов не является средством ведения логов веб-сервера и не предназначена для этого. Это именно средство получения информации для решения некоторой проблемы. Использовать трассировку в качестве лог-файлов веб-сервера '''нельзя''', для получения лог-фалов веб-сервера IIS посмотрите, пожалуйста, статью [http://www.1gb.ru/services_logs.php доступ к логам веб-сервера].

Версия 07:16, 11 июля 2008

Содержание

Общий вид

Веб-сервер IIS7 позволяет выполнять детальную трассировку исполнения HTTP-запроса, предоставляя полную информацию о процессе обработки HTTP-запроса на всех уровнях модулей IIS. Обычно эта функционалность требуется программистам, разработчикам сайта для отладки кода скриптов или подключаемых модулей, если проблема на их стороне не воспроизводится и отлажена быть не может.

В качестве примера демонстрируем несколько файлов трассировки:

  • fr000001.xml - трассировка исполнения запроса с кодом ответа 200
  • fr000002.xml - с кодом ответа 404.

Файлы трассировки с расширением .XML имеет смысл открывать браузером Internet Exolorer 7, другие браузеры с данными файлами совместимы в меньшей степени (вообще не совместимы). Вы так же можете смотреть данные файлы любым текстовым редактором или редактором XML, но это не наглядно и менее удобно. Скачать сами файлы можно тут - trace.zip.

Важно понимать, что трассировка запросов не является средством ведения логов веб-сервера и не предназначена для этого. Это именно средство получения информации для решения некоторой проблемы. Использовать трассировку в качестве лог-файлов веб-сервера нельзя, для получения лог-фалов веб-сервера IIS посмотрите, пожалуйста, статью доступ к логам веб-сервера.

Получение текста ошибки для запроса

По умолчанию IIS7 сконфигурирован таким образом, что текст ошибки клиенту не передаётся, эта информация блокируется сервером по соображениям безопасности. Если вам нужно только получать тексты ошибок (обычно это актуально для ASP и ASP.NET), вы можете отправить запрос в службу поддержки для отлючения блокировки текста ошибки для вашего сайта. Заниматься трассировками в этом случае ненужно.

Установка папки для файлов трассировки

По умолчанию файлы трассировки сохраняются в папку, к которой пользователь хостинга не имеет доступа. Для того, что бы получить файлы трассировки необходимо назначить для сохранения файлов папку внутри сайта, к которой у вас есть доступ по FTP или HTTP. К сожалению, самостоятельно сделать этого вы не можете. Для активации возможности трассировки в папку на сайте вам следует обратиться в службу поддержки.

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

Запуск и остановка трассировки

Для начала сбора трассировки необходимо вписать в Web.config следующий элемент <tracing>, для остановки трассировки его следует удалить или закомментировать.

Важно! Пожалуйста, не забывайте останавливать трассировку. Забытая активная трассировка может являтся основанием для остановки сайта службой поддержки, так как на её ведение потребляется серверных рессурсов существенно больше, чем без неё.

<configuration>
  <system.webServer>
    <tracing>
      <traceFailedRequests>
        <add path="*">
          <traceAreas>
            <add provider="ASP" verbosity="Verbose" />
            <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
            <add provider="ISAPI Extension" verbosity="Verbose" />
            <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module" verbosity="Verbose" />
          </traceAreas>
          <failureDefinitions statusCodes="500" />
        </add>
      </traceFailedRequests>
    </tracing>
  </system.webServer>
</configuration>

Важным параметром является statusCodes="500", тут вы можете установить, какие запросы вам следует сохранять в виде файлов трассировки. В примере сохраняются только запросы результатом которых является ошибка 500 - "Internal Server Error", вы можете задать этот параметр следующим образом для сохранения всех запросов: statusCodes="100-999"

Ссылки по теме

Личные инструменты