Программирование в IIS

Разрешение вопросов

Разбить на страницы
Показывать лекцию целиком

Решение проблем, возникающих в IIS, может представлять собой сложный процесс. В предыдущих версиях IIS вся функциональность и все компоненты IIS были по умолчанию включены при установке. Согласно новому менталитету Microsoft "отключено по умолчанию", необходимо следить за тем, что все необходимые компоненты включены. IIS интегрирована в операционную систему и затрагивает многие ее компонента. Если существует необходимость в разрешении каких-либо возникших вопросов, то, прежде всего, следует рассмотреть следующие возможные источники неполадки:

  • Файлы журналов
  • Связи MIME
  • Динамическое веб-содержимое
  • Разрешения
  • Рабочие процессы
  • Отключение веб-службы
  • Файлы журналов

    Стоит ли говорить, насколько сильно изучение файлов журналов помогает при разрешении проблем, связанных с сервером IIS. Двумя главными файлами журналов, с которыми следует работать, являются файл журнала IIS (рекомендуется формат W3C) и Windows Event Viewer (Просмотр событий Windows).

    О ведении журнала W3C

    Так как журнал W3C содержит наиболее полный набор полей, в которые записываются данные, данный журнал наиболее полезен при разрешении проблем. Если журнал W3C Extended не используется, можно временно сменить тип журнала в процессе отслеживания проблем, но только в том случае, если данные журнала сайта не используются для каких-либо других важных целей. Журнал W3C Extended может содержать очень большой объем информации о сайте.

    Какая учетная запись используется клиентом для доступа к сайту? Если разрешаются проблемы, связанные с разрешениями, то полезно знать, какую учетную запись использует клиент для доступа к сайту. Если в системе установлена интегрированная аутентификация Windows, браузер не запрашивает у пользователя аутентификационные данные, поэтому в данном случае трудно определить, какую учетную запись они используют. К счастью, здесь помогает файл журнала.

    Какой браузер используется клиентом для доступа к сайту? Некоторые браузеры не поддерживают определенные возможности. Например, проверка подлинности в интегрированной аутентификации Windows поддерживается только браузерами Internet Explorer. Если анонимный доступ отключен, и у клиента нет другого выбора, нежели использование интегрированной аутентификации Windows, доступ к сайту смогут получить только пользователи браузера Internet Explorer. Посредством изучения файлов журналов, можно выяснить, какие браузеры используются для доступа к сайту.

    Какие передаются коды состояния? Когда IIS передает сообщение об ошибке, на самом деле не отправляется конкретное сообщение об ошибке; вместо этого генерируется общая ошибка. Это означает, что клиент не получает код подсостояния. Если политика блокировки запрещает клиенту доступ к файлу, клиент получает характерную ошибку "404 not found", в то время как расширенный файл журнала будет содержать полную информацию об ошибке 404.2. В дополнение к этому, коды stats находятся в одной строке с временем/датой, пользователем, Internet Protocol (IP), браузером и т.д., поэтому гораздо легче связать сообщение об ошибке с конкретным клиентом.

    Базовый перечень кодов состояния HTTP определен RFC 2616. Эти коды являются расширяемыми, поэтому дополнять этот список могут различные организации. Microsoft добавила свою реализацию кодов подсостояния. В таблице 8.1 приведены оба набора кодов и их базовые значения.

    Коды состояния HTTP и их значения
    КодЗначение
    100 Продолжение.
    101 Переключение протоколов.
    200 OK.
    201 Создано.
    202 Принято.
    203 Неавторитетная информация.
    204 Нет содержимого.
    205 Сброс содержимого.
    206 Частичное содержимое.
    300 Несколько вариантов.
    301 Удалено окончательно.
    302 Найдено.
    303 Смотреть другие.
    304 Не изменено.
    305 Использовать proxy.
    307 Временное перенаправление.
    400 Некорректный запрос.
    401 Неавторизованный доступ.
    401.1 Неавторизованный доступ: Доступ запрещен по причине неверных аутентификационных данных.
    401.2 Неавторизованный доступ: Доступ запрещен по причине использования сервером другого метода аутентификации.
    401.3 Неавторизованный доступ: доступ запрещен согласно списку контроля доступа (ACL), установленному на запрашиваемом ресурсе.
    401.4 Неавторизованный доступ: аутентификация отклонена фильтром, установленным на веб-сервере.
    401.5 Неавторизованный доступ: аутентификация отклонена приложением Internet Server Application Programming Interface/Common Gateway Interface (ISAPI/CGI).
    401.7 Неавторизованный доступ: доступ запрещен согласно политике авторизации URL на веб-сервере.
    402 Необходим платеж.
    403 Доступ запрещен.
    403.1 Доступ запрещен: в доступе на выполнение отказано.
    403.2 Доступ запрещен: в доступе на чтение отказано.
    403.3 Доступ запрещен: в доступе на запись отказано.
    403.4 Доступ запрещен: для просмотра данного ресурса требуется протокол SSL.
    403.5 Доступ запрещен: для просмотра данного ресурса требуется SSL 128.
    403.6 Доступ запрещен: IP-адрес клиента отклонен.
    403.7 Доступ запрещен: требуется сертификат клиента SSL.
    403.8 Доступ запрещен: имя системы имен доменов (DNS) клиента отклонено.
    403.9 Доступ запрещен: слишком много клиентов пытаются подключиться к веб-серверу.
    403.10 Доступ запрещен: веб-сервер настроен на отказ в доступе на выполнение.
    403.11 Доступ запрещен: пароль был изменен.
    403.12 Доступ запрещен: сертификат клиента отклонен связями сертификата сервера.
    403.13 Доступ запрещен: сертификат клиента был аннулирован на веб-сервере.
    403.14 Доступ запрещен: перечень каталогов отклонен на веб-сервере.
    403.15 Доступ запрещен: права доступа клиента превысили предельно допустимые на сервере.
    403.16 Доступ запрещен: сертификат клиента некорректен или не пользуется доверием веб-сервера.
    403.17 Доступ запрещен: сертификат клиента просрочен или еще не вступил в силу.
    403.18 Доступ запрещен: Невозможно выполнить запрошенный URL в текущем пуле приложения.
    403.19 Доступ запрещен: невозможно выполнить CGI для клиента в данном пуле приложения.
    403.20 Доступ запрещен: доступ по паспорту не удался.
    404 Не найден.
    404.1 Файл или каталог не найден: веб-сайт недоступен через запрашиваемый порт.
    404.2 Файл или каталог не найден: политика блокировки запрещает данный запрос.
    404.3 Файл или каталог не найден: политика связей Multipurpose Internet Mail Extensions (MIME) запрещает данный запрос.
    405 Метод запрещен.
    406 Неприемлемо.
    407 Требуется аутентификация proxy.
    408 Время запроса истекло.
    409 Конфликт.
    410 Утеряно.
    411 Требуется значение длины.
    412 Предварительное условие не прошло.
    413 Запрос слишком велик.
    414 Идентификатор URI слишком велик.
    415 Неподдерживаемый тип носителя.
    416 Запрошенный диапазон не удовлетворителен.
    417 Предположение неверно.
    500 Внутренняя ошибка сервера.
    500.11 Ошибка сервера: приложение завершает работу на веб-сервере.
    500.12 Ошибка сервера: приложение перезапускается на веб-сервере.
    500.13 Ошибка сервера: веб-сервер занят.
    500.14 Ошибка сервера: неверная конфигурация приложения на веб-сервере.
    500.15 Ошибка сервера: прямые запросы GLOBAL.ASA не разрешены.
    500.16 Ошибка сервера: неверные аутентификационные данные UNC.
    500.17 Ошибка сервера: хранилище авторизации URL не может быть найдено.
    500.18 Ошибка сервера: хранилище авторизации URL не может быть открыто.
    500.19 Ошибка сервера: данные для этого файла в метабазе сконфигурированы неверно.
    500.20 Ошибка сервера: область авторизации URL не может быть найдена.
    500.100 Внутренняя ошибка сервера: ошибка ASP.
    501 Не применено.
    502 Неисправный шлюз.
    503 Служба недоступна.
    504 Истек период ожидания шлюза.
    505 Версия HTTP не поддерживается.

    Программа просмотра событий Event Viewer

    Программа Event Viewer (Просмотр событий) может фиксировать события, связанные с IIS. Event Viewer состоит из трех (или четырех, если установлена DNS) компонентов:

  • Журнал приложения. Содержит информацию о приложениях, выполняющихся на сервере. Большинство объектов COM передают информационные сообщения и сообщения об ошибках в журнал приложений.
  • Журнал безопасности. Содержит всю собираемую сервером информацию об аудите. Данный журнал будет настроен чуть позже.
  • Системный журнал. Содержит информацию о самой операционной системе. В системный журнал передают информацию службы.
  • Журнал сервера DNS. Существует только в том случае, если установлен компонент Microsoft DNS Server, и содержит события, связанные в сервером DNS.
  • Примечание. Приложения также могут вести свои собственные журналы. Перечень имеющихся журналов может варьироваться, в зависимости от того, какие установлены приложения. Например, журнал сервера DNS существует только в том случае, если установлен компонент сервера DNS.

    Ниже приведены некоторые сообщения программы Event Viewer (Просмотр событий):

  • запуск и остановка службы;
  • ошибки приложений;
  • активность COM-объекта;
  • ошибки служб;
  • ошибки пула приложений;
  • информация о новостях.
  • Также можно настроить аудит и просмотр информации в журнале Security (Безопасность). Аудит настраивается в политике безопасности и в окне Group Policy Objects (Объекты политики группы). Ниже приведены указания по настройке аудита в локальной политике безопасности для отдельного сервера.

  • Выберите команду Start\Administrative Tools\Local Security Policy (Пуск\Администрирование\Локальная политика безопасности).
  • В окне Local Security Settings (Параметры локальной безопасности) (см. рис. 8.1) выберите Local Policies (Локальные политики), после чего выберите Audit Policy (Политика аудита).
  • Чтобы включить аудит для элемента, дважды щелкните на элементе в правой области.
  • Выберите нужный аудит: Success (Успех), Failure (Ошибка) или обе опции.
  • Нажмите OK.
  • (рис 8.1) Политика аудита в окне Local Security Settings (Параметры локальной безопасности)

    Связи MIME

    Если возникла проблема со статическими файлами, следует проверить зарегистрированные типы MIME. По умолчанию IIS обслуживает только файлы HTML и текстовые файлы. Если запрашивается файл неизвестного типа, IIS передает клиенту ошибку 404 и фиксирует в журнала формата W3C Extended ошибку 404.3. Если возникла такая проблема, проверьте журнал IIS, и при обнаружении кода 404.3, добавьте в список связь MIME:

  • Откройте консоль MMC IIS с помощью команды Start\Administrative Tools\Internet Information Services (IIS) Manager (Пуск\Администрирование\Диспетчер IIS).
  • Щелкните правой кнопкой мыши на компоненте (на глобальном уровне, на уровне сайта или уровне каталога), для которого следует изменить типы MIME, и выберите Propеrties (Свойства).
  • Откройте вкладку HTTP Headers (Заголовки HTTP), после чего нажмите на кнопку MIME Types (Типы MIME) в области MIME Types.
  • В появившемся окне типов MIME нажмите на кнопку New (Создать).
  • В текстовом поле Extension (Расширение) введите расширение файла, которое нужно добавить.
  • В соответствующем текстовом поле укажите тип MIME.
  • Нажмите на кнопку OK. Расширение будет добавлено в перечень зарегистрированных типов MIME.
  • Нажмите на кнопку OK еще два раза.
  • Если тип MIME настроен неправильно, но расширение отображается в списке Registered MIME Types (Зарегистрированные типы MIME), IIS по-прежнему будет обслуживать файл, однако не будет знать, что с ним делать. Пользователям IE будет предложено выбрать программу для открытия данного файла.

    Совет. Не знаете, какой тип MIME является корректным? Все типы MIME присваиваются и фиксируются организацией Internet Assigned Numbers Authority (IANA). С их списком можно ознакомиться по адресу http://www.iana.org.

    Динамическое веб-содержимое

    Если возникли проблемы с динамическим содержимым, помните, что по умолчанию IIS обслуживает только статическое содержимое. Все динамическое содержимое должно активизироваться в области Web Service Extensions (Расширения веб-службы) консоли MMC IIS. Если используется, но не включена, технология ASP, то при попытке клиентов доступа к файлу ASP они получат сообщение об ошибке 404. При использовании расширенного журнала в нем будет содержаться ошибка 404.2 ("Файл или каталог не найден: политика блокировки запрещает данный запрос".

    Чтобы включить динамическое содержимое, перейдите в секцию Web Service Extensions (Расширения веб-службы) консоли MMC IIS. Здесь можно добавить расширения веб-службы и разрешить их выполнение.

    Следующие расширения веб-служб являются предопределенными:

  • все неизвестные расширения ISAPI;
  • все неизвестные расширения CGI;
  • страницы Active Server Pages;
  • серверные расширения BITS (если установлены);
  • серверные расширения FrontPage Server Extensions 2002 (если установлены);
  • Internet Data Connector;
  • интернет-печать;
  • включения серверной части;
  • WebDAV.
  • Чтобы включить расширение службы, выделите его в консоли MMC и нажмите на кнопку Allow (Разрешить). Если нужного расширения нет в списке, то его можно добавить, а затем нажать на кнопку Allow (Разрешить).

    Примечание. Прекрасным средством для решения проблем с расширениями веб-служб является гиперссылка Allow All Web Service Extensions For A Specific Application (Разрешить все расширения веб-служб для определенного приложения). Она используется для включения всех расширений, от которых зависит работа одного конкретного расширения.

    Проблемы, связанные с разрешениями

    Неверная установка разрешений файловой системы NT File System (NTFS) может разрушительно сказаться на веб-сайте. Необходимо не только помнить о разрешениях на сайте, но и обеспечить доступность любых используемых COM-объектов. Разрешения на сайте довольно просты и понятны, однако большинство динамически подсоединяемых библиотек (DLL) находятся в каталоге System32. В этом-то и заключается сложность.

    Если рабочий процесс IIS не может получить доступ к DLL-библиотеке ISAPI со списком ACL, то все запросы на эту библиотеку будут завершаться ошибкой 503. Необходимо, чтобы рабочий процесс мог загрузить все библиотеки DLL, используемые на сайте.

    При устранении проблем с разрешениями (особенно если вы не уверены, что проблема связана именно с разрешениями), самым простым способом выявить проблему является расширение разрешений. Если доступ к сайту выполнен под аутентификационными данными администратора, но проблема по-прежнему не устранена, то дело, скорее всего, не в разрешениях. Если невозможен доступ под учетной записью Internet Guest (Гостевая учетная запись интернета), то проблема определенно заключается в разрешениях.

    Предупреждение. В данный момент читатель может задаваться вопросом: "В этой книге не меньше 30 раз говорилось о том, что нельзя использовать расширенные разрешения, так в чем же дело?". Это справедливый вопрос, однако данный подход помогает определить, связана ли проблема с разрешениями. Расширенные полномочия требуют строжайшего контроля. Определенно не стоит использовать данный подход в тот момент, когда сайт находится в состоянии функционирования. Необходимо оградить сайт от доступа посторонних лиц, а затем протестировать его. По окончании этого процесса необходимо вернуть разрешениям соответствующие значения. Нельзя же допустить, чтобы с сайтом все работали на правах администраторов!

    Рабочие процессы

    В IIS 5 приложения выполнялись внутри процесса с использованием по умолчанию учетной записи LocalSystem. Эта учетная запись имеет более высокий уровень прав, нежели рабочие процессы IIS 6, так как они работают как сетевые службы. Если приложение, правильно работающее в среде IIS 5, вызывает проблемы при работе с IIS 6, можно проверить следующие настройки.

    Учетная запись рабочего процесса

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

    Ниже описан процесс изменения учетной записи рабочих процессов в пуле приложения:

  • Выделите пул приложения в консоли MMC IIS.
  • Выберите команду Action\Properties (Действие\Свойства).
  • Перейдите на вкладку Identity (Учетная запись).
  • Выберите учетную запись Network Service (Сетевая служба), Local Service (Сетевая служба) или Local System (Локальная система) либо выберите учетную запись пользователя локального компьютера или доверенного домена.
  • Рециркуляция рабочих процессов

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

  • Мульти-объектные ISAPI, предназначенные для многоразового единовременного использования различными процессами.
  • Фильтры чтения исходных данных, которые пытаются захватить все данные перед тем, как они достигнут веб-сайта.
  • Внутрипроцессные сеансовые переменные состояния, т.к. они уничтожаются при каждой рециркуляции рабочего процесса.
  • Приложения, передающие работу для выполнения своим собственным рабочим процессам.
  • Отключение веб-службы

    В некоторых случаях клиент получает сообщение об ошибке HTTP 503. При появлении ошибок 503 события записываются в журнал событий Windows. В этом случае следует открыть Event Viewer (Просмотр событий) и проверить, где возникла ошибка – в файле HTTP.sys или в службе WWW. Если ошибка возникла в HTTP.sys, проверьте длину очереди пула приложения. Ошибка могла возникнуть из-за получения слишком большого количества запросов. Очередь пула приложения можно изменить вручную.

  • В консоли MMC IIS выделите пул приложения, который необходимо изменить.
  • Выберите команду Action\Propеrties (Действие\Свойства), после чего откройте вкладку Performance (Производительность).
  • В области Request Queue Limit (Предел очереди запроса) увеличьте значение количества запросов.
  • Нажмите на кнопку OK.
  • Если ошибка возникла в службе WWW, возможно, что IIS обнаружила несколько ошибок в рабочих процессах и инициировала оперативную защиту от ошибок. Это вызвало прекращение обработки запросов "пострадавшим" пулом приложения; такая система безопасности защищает сервер от повреждения неправильно функционирующими приложениями. Если такие обстоятельства возникнут единожды, это может свидетельствовать о наличии какой-либо аномалии. Если же это происходит часто, то следует проверить конфигурацию приложения, так как это говорит о неверных настройках. Можно увеличить допустимое число ошибок и интервал времени, однако это не устранит источник проблемы.

    Настройка параметров системы быстрого обнаружения ошибок производится следующим образом:

  • В консоли MMC IIS выделите пул приложения, в который следует внести изменения.
  • Выберите команду Action\Properties (Действие\Свойства) и откройте вкладку Health (Состояние).
  • Увеличьте значения параметров для ошибок и/или интервала времени, в течение которого IIS отслеживает ошибки рабочих процессов.
  • Нажмите на кнопку OK.
  • Мониторинг производительности

    Необходимо осуществлять мониторинг производительности сервера IIS. Можно иметь программу, написанную лучшими специалистами в мире, однако если сервер, на котором располагается эта программа, будет обладать недостаточно высокой мощностью, то могут возникнуть проблемы, связанные с производительностью. Программа Windows Performance Monitor (Индикатор производительности Windows) (см. рис. 8.2) позволяет фиксировать данные в файле, после чего проверять эти данные на наличие проблем с производительностью. В ОС Windows имеется более 50 объектов производительности, которые можно отслеживать. Программа Performance Monitor (Индикатор производительности) позволяет отслеживать систему в реальном времени, генерировать журналы для дальнейшего просмотра, а также генерировать оповещения, выдаваемые при возникновении настраиваемых условий. Ниже описываются счетчики, которые представляют наибольший интерес при ведении журнала на сервере IIS.

    (рис 8.2) Индикатор производительности
  • Active Server Pages (ASP). Фиксируют ошибки в сценариях ASP, кэшах шаблонов, статистические данные, связанные с запросами и многое другое.
  • FTP Service (Служба FTP). Отслеживают полное количество байт, соединений, прерванных пользователями и операциями входа, а также передачи файлов. Internet Information Services Global.Отслеживают большие двоичные объекты ( BLOB ), а также статистическую информацию о файлах и кэшировании URI.
  • Memory (Память). Фиксируют данные об использовании памяти, а также о качестве страничной организации памяти.
  • Network Interface (Сетевой интерфейс). Фиксируют переданные байты, использованную полосу пропускания, а также качество передачи пакетов, включая возникшие ошибки.
  • NNTP Commands (Команды NNTP). Ведут статистику того, сколько команд каждого типа NNTP принимается сервером.
  • NNTP Server (Сервер NNTP). Отслеживают количество байт, пользователей, соединений и поступления данных.
  • Physical Disk (Физический диск). Записывают информацию о передаче данных физическим диском. Это позволяет определить достижение сервером предела ввода/вывода информации.
  • Processor (Процессор). Записывают процентные значения времени, в течение которого процессор обрабатывает команды, а также состояние процессора.
  • Server (Сервер). Ведут статистику о страничном файле, трафике входа в систему, ошибках и пр.
  • SMTP NTFS Store Driver (Драйвер хранения SMTP NTFS). Отслеживает количество расположенных на сервере сообщений, удаленных сообщений, пронумерованных сообщений и сообщений, находящихся в очереди.
  • SMTP Server (Сервер SMTP). Содержит более 100 счетчиков, предназначенных для фиксирования дополнительной информации о сообщениях.
  • Web Service (Веб-служба). Содержит около 85 счетчиков, отслеживающих различные типы запросов HTTP и ошибок, запросов CGI/ISAPI и информацию о подключениях.
  • Web Service Cache (Кэш веб-службы). Фиксируют статистические данные о компоненте веб-сервера, включая успешное и неудачное выполнение операций для различных элементов, используемых веб-службой. Большая часть счетчиков взаимодействует с кэшированием URI.
  • Мониторинг в реальном масштабе времени

    С помощью System Monitor (Системного индикатора) осуществляется мониторинг сервера в реальном времени.

  • Откройте консоль MMC Performance (Производительность), выбрав команду Start\Administrative Tools\Performance (Пуск\Администрирование\Производительность).
  • Щелкните на System Monitor (Системный индикатор) (этот элемент выделен по умолчанию).
  • На панели инструментов вверху индикатора щелкните на значке "+".
  • В диалоговом окне Add Counters (Добавить счетчики) укажите, какой компьютер необходимо отслеживать; по умолчанию выбран рассматриваемый компьютер.
  • Из ниспадающего списка выберите объект Performance (Производительность), который необходимо использовать.
  • Выберите из списка отдельный счетчик.
  • При наличии нескольких процессоров выберите тот процессор, для которого выполняется мониторинг, либо выберите значение Total (Все).
  • Нажмите на кнопку Add (Добавить). Счетчик будет добавлен, но окно Add Counters (Добавление счетчиков) останется активным.
  • Повторите шаги 3-7 для каждого счетчика, который необходимо добавить.
  • После добавления всех соответствующих счетчиков нажмите на кнопку Close (Закрыть).
  • Эта операция поможет выполнять мониторинг в режиме реального времени, однако обеспечит долгосрочного фиксирования информации. Для этого предназначены журналы счетчиков.

    Работа с журналами счетчиков

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

  • В консоли MMC Performance (Производительность) выделите Counter Logs (Счетчики журналов) в пункте Performance Logs and Alerts (Журналы и оповещения производительности).
  • Выберите команду Action\New Log Settings (Действие\Параметры нового журнала).
  • В окне New Log Settings (Параметры нового журнала) введите имя создаваемого журнала.
  • Нажмите на кнопку OK. Откроется окно свойств.
  • В окне свойств для рассматриваемого журнала вы увидите три вкладки: General (Общие), Log Files (Файлы журнала) и Schedule (Расписание).

    Вкладка General (Общие)

    Во вкладке General (Общие) (см. рис. 8.3) добавляются объекты и счетчики в журнал, а также настраивается метод сбора данных.

    (рис 8.3) Вкладка General (Общие)

    Под объектами подразумеваются объекты производительности, определенные Windows. Можно добавить в журнал объект производительности целиком, в результате чего будут автоматически фиксироваться данные для каждого счетчика этого объекта. Данный подход требует большого количества дискового пространства. Для добавления объекта нажмите на кнопку Add Objects (Добавить объекты) и выделите все объекты, отслеживание которых необходимо осуществлять, в открывшемся диалоговом окне. После этого нажмите на кнопку Close (Закрыть).

    Счетчиками называются отдельные счетчики производительности, находящиеся в объекте. Можно выбрать мониторинг отдельного счетчика, в результате чего будет использоваться меньший объем дискового пространства. Файл журнала в этом случае не будет столь детализованным, как если бы осуществлялся мониторинг всего объекта. Для добавления счетчика нажмите на кнопку Add Counters (Добавить счетчики) и в открывшемся диалоговом окне выберите нужные счетчики. После этого нажмите на кнопку Close (Закрыть).

    Как правило, при наличии достаточного объема дискового пространства и циклов центрального процессора следует добавлять объекты, а не счетчики.

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

    В области Sample Data Every (Проверочные данные каждые) настраивается интервал времени сбора информации. По истечении этого интервала индикатор производительности опрашивает все установленные счетчики производительности для получение текущих данных. Эти данные затем записываются в журнал. Чем чаще осуществляется сбор данных, тем больше размер журнала и более подробна фиксируемая информация. Укажите оптимальный интервал времени для соотношения размера файла и степени его детализации – от 1 с до 45 дней.

    В текстовом поле Run As (Выполнить как) указывается учетная запись пользователя, под которой выполняется Performance Monitor (Индикатор производительности). Это позволяет выполнять мониторинг независимо от того, кто находится в системе.

    Вкладка Log Files (Файлы журнала)

    Во вкладке Log Files (Файлы журнала) (см. рис. 8.4) настраивается тип журнала, в который будет записываться информация.

    (рис 8.4) Вкладка Log Files (Файлы журнала)

    Здесь для выбора представлены следующие опции.

  • Text File (Comma Delimited) – текстовый файл с разделителями-запятыми.
  • Text File (Tab Delimited) – текстовый файл с разделителями-табуляцией.
  • Binary File – двоичный файл.
  • Binary Circular File – двоичный циклический файл.
  • SQL Database – база данных SQL.
  • Вы можете задать метод нумерации файлов журнала. Это особенно полезно в том случае, когда запись в журнал осуществляется с определенной периодичностью. Можно выбрать присоединение к журналу даты и времени в различных форматах либо просто задать возрастающую нумерацию каждого журнала. Кроме этого, можно добавить комментарий к журнала и указать необходимость перезаписи имеющихся файлов.

    Вкладка Schedule (Расписание)

    Во вкладке Schedule (Расписание) (см. рис. 8.5) настраивается промежуток времени, согласно которому будет осуществляться сбор данных.

    (рис 8.5) Вкладка Schedule (Расписание)

    В области Start Log (Запуск журнала) указывается запуск файла журнала вручную либо запуск по определенным дате и времени.

    В области Stop Log (Остановка журнала) указывается необходимость остановки журнала следующими методами:

  • вручную;
  • по прошествии определенного промежутка времени;
  • в определенные день и время;
  • по заполнении журнала.
  • При закрытии журнала можно запускать новый журнала. Если включена опция Start A New Log File (Запускать новый журнал), то будет создаваться новый журнал согласно правилам нумерации, указанным во вкладке Log Files (Файлы журнала). Вы можете указать необходимость выполнения определенной команды при закрытии журнала: задать сценарий, обрабатывающий данные, либо другую программу на усмотрение пользователя.

    Осуществив сбор данных, можно с большей долей вероятности выявить проблемы в системе и проверить соответствие сервера IIS системным требованиям.

    Использование оповещений в Performance Monitor

    Программа Performance Monitor (Индикатор производительности) имеет настраиваемые пороговые значения, по достижении которых инициируются действия по обработке. Это позволяет отслеживать состояние сервера и обнаруживать неполадки.

    Ниже приведены инструкции по созданию оповещения.

  • В левой области Performance Logs (Журналы производительности) щелкните на записи Alerts (Оповещения).
  • Выберите команду Action\New Alert Settings (Действие\Параметры нового оповещения).
  • В окне New Alert Settings (Параметры нового оповещения) введите имя нового оповещения.
  • Нажмите на клавишу OK.
  • В открывшемся окне свойств с помощью вкладок General (Общие), Action (Действие) и Schedule (Расписание) произведите настройку создаваемых оповещений.
  • Вкладка General (Общие)

    Вкладка General (Общие) (см. рис. 8.6) позволяет задать отслеживаемые счетчики и установить пороговые значения. Здесь можно выбрать несколько отдельных счетчиков из объекта для мониторинга.

    (рис 8.6) Вкладка General (Общие) окна настройки оповещений

    Comment (Комментарий). Укажите описание данного счетчика. Это имя должно быть информативным, которое поможет в дальнейшем распознать данный счетчик.

    Counters (Счетчики). Просмотр выбранных счетчиков, а также того, к какому экземпляру применяется каждый счетчик.

    Alert When The Value Is Over/Under Limit (Выдавать оповещение, когда значение выше/ниже предельного). Настройте пороговое значение для данного счетчика. Например, для % Processor Time (Процессорное время в процентах) задайте оповещение при превышении определенного значения, например, 90%. По достижении порогового значения выполняется действие, указанное во вкладке Action (Действие). Это пороговое значение является одноразовым триггером, и не функционирует в течение какого-либо времени. Если степень использования процессора единожды достигает 90%, действие выполняется. По этой причине триггеры процессора являются не лучшим методом использования оповещений, так как стопроцентная загрузка процессора представляет собой нормальное явление. Тем не менее, выявление продолжительной стопроцентной загрузки процессора является полезным триггером оповещений.

    Sample Data Every (Проверочные данные каждые). Измените интервал сбора данных. По прошествии заданного интервала программа Performance Monitor (Индикатор производительности) опросит все счетчики производительности для получения текущих данных.

    Run As (Выполнить как). Укажите учетную запись пользователя, под которой будет выполняться программа Performance Monitor (Индикатор производительности). Это позволит обеспечить мониторинг независимо от того, кто находится в системе.

    Вкладка Action (Действие)

    Во вкладке Action (Действие) (см. рис. 8.7) указываются действия, выполняемые при возникновении события. Можно задать следующие действия.

    (рис 8.7) Вкладка Action (Действие)

    Log An Entry in the Application Event Log (Заносить запись в журнал событий приложения). Записывает событие с детальными данными счетчика оповещения, значение, вызвавшее оповещение, и пороговое значение. Источником события является SysmonLog.

    Send A Network Message To (Отправить сетевое сообщение). Отправляет сетевое сообщение с помощью службы сообщений по имени, указанном в текстовом поле.

    Start Performance Data Log (Запуск журнала с данными о производительности). Запускает журнал, указанный в ниспадающем списке. Этот журнал будет функционировать до остановки расписания или до остановки вручную.

    Run This Program (Выполнить эту программу). Выполняет определенную программу. Опция используется для запуска отладчика, выполнения сценария, отправки электронной почты или выполнения другого действия. Приложение запускается с указанными аргументами командной строки. Опция прекрасно подходит для выполнения сценария VBScript.

    Command Line Arguments (Аргументы командной строки). Указывает параметры, передаваемые приложению при его выполнении. Содержит семь аргументов:

  • Single argument string – строка с одним аргументом;
  • Date/Time – дата/время;
  • Measured value – измеряемое значение;
  • Alert Name – имя оповещения;
  • Counter Name – имя счетчика;
  • Limit value – предельное значение;
  • Text message – текстовое сообщение.
  • Опция Single argument string присваивает строке формат разделителей-запятых вместо указания каждой переменой по отдельности. Опция Text message позволяет вводить любой текст, который необходимо отправить. Это очень полезная возможность; так как осуществляется настройка оповещения, пользователь знает, что именно запускается, и добавляет текстовое сообщение для переменной, которая необходима для запуска сценария VBScript, написанного для обработки рассматриваемой ситуации.

    Вкладка Schedule (Расписание)

    Вкладка Schedule (Расписание) используется в точности так же, как и в других областях программы Performance Monitor (Индикатор производительности). Так как ее описание уже было приведено, ее мы рассматривать здесь больше не будет. Вернитесь назад на несколько страниц, чтобы ознакомиться с подробной информацией о вкладке Schedule (Расписание).

    Страницы:

    Решение проблем, возникающих в IIS, может представлять собой сложный процесс. В предыдущих версиях IIS вся функциональность и все компоненты IIS были по умолчанию включены при установке. Согласно новому менталитету Microsoft "отключено по умолчанию", необходимо следить за тем, что все необходимые компоненты включены. IIS интегрирована в операционную систему и затрагивает многие ее компонента. Если существует необходимость в разрешении каких-либо возникших вопросов, то, прежде всего, следует рассмотреть следующие возможные источники неполадки:

  • Файлы журналов
  • Связи MIME
  • Динамическое веб-содержимое
  • Разрешения
  • Рабочие процессы
  • Отключение веб-службы
  • Файлы журналов

    Стоит ли говорить, насколько сильно изучение файлов журналов помогает при разрешении проблем, связанных с сервером IIS. Двумя главными файлами журналов, с которыми следует работать, являются файл журнала IIS (рекомендуется формат W3C) и Windows Event Viewer (Просмотр событий Windows).

    О ведении журнала W3C

    Так как журнал W3C содержит наиболее полный набор полей, в которые записываются данные, данный журнал наиболее полезен при разрешении проблем. Если журнал W3C Extended не используется, можно временно сменить тип журнала в процессе отслеживания проблем, но только в том случае, если данные журнала сайта не используются для каких-либо других важных целей. Журнал W3C Extended может содержать очень большой объем информации о сайте.

    Какая учетная запись используется клиентом для доступа к сайту? Если разрешаются проблемы, связанные с разрешениями, то полезно знать, какую учетную запись использует клиент для доступа к сайту. Если в системе установлена интегрированная аутентификация Windows, браузер не запрашивает у пользователя аутентификационные данные, поэтому в данном случае трудно определить, какую учетную запись они используют. К счастью, здесь помогает файл журнала.

    Какой браузер используется клиентом для доступа к сайту? Некоторые браузеры не поддерживают определенные возможности. Например, проверка подлинности в интегрированной аутентификации Windows поддерживается только браузерами Internet Explorer. Если анонимный доступ отключен, и у клиента нет другого выбора, нежели использование интегрированной аутентификации Windows, доступ к сайту смогут получить только пользователи браузера Internet Explorer. Посредством изучения файлов журналов, можно выяснить, какие браузеры используются для доступа к сайту.

    Какие передаются коды состояния? Когда IIS передает сообщение об ошибке, на самом деле не отправляется конкретное сообщение об ошибке; вместо этого генерируется общая ошибка. Это означает, что клиент не получает код подсостояния. Если политика блокировки запрещает клиенту доступ к файлу, клиент получает характерную ошибку "404 not found", в то время как расширенный файл журнала будет содержать полную информацию об ошибке 404.2. В дополнение к этому, коды stats находятся в одной строке с временем/датой, пользователем, Internet Protocol (IP), браузером и т.д., поэтому гораздо легче связать сообщение об ошибке с конкретным клиентом.

    Базовый перечень кодов состояния HTTP определен RFC 2616. Эти коды являются расширяемыми, поэтому дополнять этот список могут различные организации. Microsoft добавила свою реализацию кодов подсостояния. В таблице 8.1 приведены оба набора кодов и их базовые значения.

    Коды состояния HTTP и их значения
    КодЗначение
    100 Продолжение.
    101 Переключение протоколов.
    200 OK.
    201 Создано.
    202 Принято.
    203 Неавторитетная информация.
    204 Нет содержимого.
    205 Сброс содержимого.
    206 Частичное содержимое.
    300 Несколько вариантов.
    301 Удалено окончательно.
    302 Найдено.
    303 Смотреть другие.
    304 Не изменено.
    305 Использовать proxy.
    307 Временное перенаправление.
    400 Некорректный запрос.
    401 Неавторизованный доступ.
    401.1 Неавторизованный доступ: Доступ запрещен по причине неверных аутентификационных данных.
    401.2 Неавторизованный доступ: Доступ запрещен по причине использования сервером другого метода аутентификации.
    401.3 Неавторизованный доступ: доступ запрещен согласно списку контроля доступа (ACL), установленному на запрашиваемом ресурсе.
    401.4 Неавторизованный доступ: аутентификация отклонена фильтром, установленным на веб-сервере.
    401.5 Неавторизованный доступ: аутентификация отклонена приложением Internet Server Application Programming Interface/Common Gateway Interface (ISAPI/CGI).
    401.7 Неавторизованный доступ: доступ запрещен согласно политике авторизации URL на веб-сервере.
    402 Необходим платеж.
    403 Доступ запрещен.
    403.1 Доступ запрещен: в доступе на выполнение отказано.
    403.2 Доступ запрещен: в доступе на чтение отказано.
    403.3 Доступ запрещен: в доступе на запись отказано.
    403.4 Доступ запрещен: для просмотра данного ресурса требуется протокол SSL.
    403.5 Доступ запрещен: для просмотра данного ресурса требуется SSL 128.
    403.6 Доступ запрещен: IP-адрес клиента отклонен.
    403.7 Доступ запрещен: требуется сертификат клиента SSL.
    403.8 Доступ запрещен: имя системы имен доменов (DNS) клиента отклонено.
    403.9 Доступ запрещен: слишком много клиентов пытаются подключиться к веб-серверу.
    403.10 Доступ запрещен: веб-сервер настроен на отказ в доступе на выполнение.
    403.11 Доступ запрещен: пароль был изменен.
    403.12 Доступ запрещен: сертификат клиента отклонен связями сертификата сервера.
    403.13 Доступ запрещен: сертификат клиента был аннулирован на веб-сервере.
    403.14 Доступ запрещен: перечень каталогов отклонен на веб-сервере.
    403.15 Доступ запрещен: права доступа клиента превысили предельно допустимые на сервере.
    403.16 Доступ запрещен: сертификат клиента некорректен или не пользуется доверием веб-сервера.
    403.17 Доступ запрещен: сертификат клиента просрочен или еще не вступил в силу.
    403.18 Доступ запрещен: Невозможно выполнить запрошенный URL в текущем пуле приложения.
    403.19 Доступ запрещен: невозможно выполнить CGI для клиента в данном пуле приложения.
    403.20 Доступ запрещен: доступ по паспорту не удался.
    404 Не найден.
    404.1 Файл или каталог не найден: веб-сайт недоступен через запрашиваемый порт.
    404.2 Файл или каталог не найден: политика блокировки запрещает данный запрос.
    404.3 Файл или каталог не найден: политика связей Multipurpose Internet Mail Extensions (MIME) запрещает данный запрос.
    405 Метод запрещен.
    406 Неприемлемо.
    407 Требуется аутентификация proxy.
    408 Время запроса истекло.
    409 Конфликт.
    410 Утеряно.
    411 Требуется значение длины.
    412 Предварительное условие не прошло.
    413 Запрос слишком велик.
    414 Идентификатор URI слишком велик.
    415 Неподдерживаемый тип носителя.
    416 Запрошенный диапазон не удовлетворителен.
    417 Предположение неверно.
    500 Внутренняя ошибка сервера.
    500.11 Ошибка сервера: приложение завершает работу на веб-сервере.
    500.12 Ошибка сервера: приложение перезапускается на веб-сервере.
    500.13 Ошибка сервера: веб-сервер занят.
    500.14 Ошибка сервера: неверная конфигурация приложения на веб-сервере.
    500.15 Ошибка сервера: прямые запросы GLOBAL.ASA не разрешены.
    500.16 Ошибка сервера: неверные аутентификационные данные UNC.
    500.17 Ошибка сервера: хранилище авторизации URL не может быть найдено.
    500.18 Ошибка сервера: хранилище авторизации URL не может быть открыто.
    500.19 Ошибка сервера: данные для этого файла в метабазе сконфигурированы неверно.
    500.20 Ошибка сервера: область авторизации URL не может быть найдена.
    500.100 Внутренняя ошибка сервера: ошибка ASP.
    501 Не применено.
    502 Неисправный шлюз.
    503 Служба недоступна.
    504 Истек период ожидания шлюза.
    505 Версия HTTP не поддерживается.

    Программа просмотра событий Event Viewer

    Программа Event Viewer (Просмотр событий) может фиксировать события, связанные с IIS. Event Viewer состоит из трех (или четырех, если установлена DNS) компонентов:

  • Журнал приложения. Содержит информацию о приложениях, выполняющихся на сервере. Большинство объектов COM передают информационные сообщения и сообщения об ошибках в журнал приложений.
  • Журнал безопасности. Содержит всю собираемую сервером информацию об аудите. Данный журнал будет настроен чуть позже.
  • Системный журнал. Содержит информацию о самой операционной системе. В системный журнал передают информацию службы.
  • Журнал сервера DNS. Существует только в том случае, если установлен компонент Microsoft DNS Server, и содержит события, связанные в сервером DNS.
  • Примечание. Приложения также могут вести свои собственные журналы. Перечень имеющихся журналов может варьироваться, в зависимости от того, какие установлены приложения. Например, журнал сервера DNS существует только в том случае, если установлен компонент сервера DNS.

    Ниже приведены некоторые сообщения программы Event Viewer (Просмотр событий):

  • запуск и остановка службы;
  • ошибки приложений;
  • активность COM-объекта;
  • ошибки служб;
  • ошибки пула приложений;
  • информация о новостях.
  • Также можно настроить аудит и просмотр информации в журнале Security (Безопасность). Аудит настраивается в политике безопасности и в окне Group Policy Objects (Объекты политики группы). Ниже приведены указания по настройке аудита в локальной политике безопасности для отдельного сервера.

  • Выберите команду Start\Administrative Tools\Local Security Policy (Пуск\Администрирование\Локальная политика безопасности).
  • В окне Local Security Settings (Параметры локальной безопасности) (см. рис. 8.1) выберите Local Policies (Локальные политики), после чего выберите Audit Policy (Политика аудита).
  • Чтобы включить аудит для элемента, дважды щелкните на элементе в правой области.
  • Выберите нужный аудит: Success (Успех), Failure (Ошибка) или обе опции.
  • Нажмите OK.
  • (рис 8.1) Политика аудита в окне Local Security Settings (Параметры локальной безопасности)

    Связи MIME

    Если возникла проблема со статическими файлами, следует проверить зарегистрированные типы MIME. По умолчанию IIS обслуживает только файлы HTML и текстовые файлы. Если запрашивается файл неизвестного типа, IIS передает клиенту ошибку 404 и фиксирует в журнала формата W3C Extended ошибку 404.3. Если возникла такая проблема, проверьте журнал IIS, и при обнаружении кода 404.3, добавьте в список связь MIME:

  • Откройте консоль MMC IIS с помощью команды Start\Administrative Tools\Internet Information Services (IIS) Manager (Пуск\Администрирование\Диспетчер IIS).
  • Щелкните правой кнопкой мыши на компоненте (на глобальном уровне, на уровне сайта или уровне каталога), для которого следует изменить типы MIME, и выберите Propеrties (Свойства).
  • Откройте вкладку HTTP Headers (Заголовки HTTP), после чего нажмите на кнопку MIME Types (Типы MIME) в области MIME Types.
  • В появившемся окне типов MIME нажмите на кнопку New (Создать).
  • В текстовом поле Extension (Расширение) введите расширение файла, которое нужно добавить.
  • В соответствующем текстовом поле укажите тип MIME.
  • Нажмите на кнопку OK. Расширение будет добавлено в перечень зарегистрированных типов MIME.
  • Нажмите на кнопку OK еще два раза.
  • Если тип MIME настроен неправильно, но расширение отображается в списке Registered MIME Types (Зарегистрированные типы MIME), IIS по-прежнему будет обслуживать файл, однако не будет знать, что с ним делать. Пользователям IE будет предложено выбрать программу для открытия данного файла.

    Совет. Не знаете, какой тип MIME является корректным? Все типы MIME присваиваются и фиксируются организацией Internet Assigned Numbers Authority (IANA). С их списком можно ознакомиться по адресу http://www.iana.org.

    Динамическое веб-содержимое

    Если возникли проблемы с динамическим содержимым, помните, что по умолчанию IIS обслуживает только статическое содержимое. Все динамическое содержимое должно активизироваться в области Web Service Extensions (Расширения веб-службы) консоли MMC IIS. Если используется, но не включена, технология ASP, то при попытке клиентов доступа к файлу ASP они получат сообщение об ошибке 404. При использовании расширенного журнала в нем будет содержаться ошибка 404.2 ("Файл или каталог не найден: политика блокировки запрещает данный запрос".

    Чтобы включить динамическое содержимое, перейдите в секцию Web Service Extensions (Расширения веб-службы) консоли MMC IIS. Здесь можно добавить расширения веб-службы и разрешить их выполнение.

    Следующие расширения веб-служб являются предопределенными:

  • все неизвестные расширения ISAPI;
  • все неизвестные расширения CGI;
  • страницы Active Server Pages;
  • серверные расширения BITS (если установлены);
  • серверные расширения FrontPage Server Extensions 2002 (если установлены);
  • Internet Data Connector;
  • интернет-печать;
  • включения серверной части;
  • WebDAV.
  • Чтобы включить расширение службы, выделите его в консоли MMC и нажмите на кнопку Allow (Разрешить). Если нужного расширения нет в списке, то его можно добавить, а затем нажать на кнопку Allow (Разрешить).

    Примечание. Прекрасным средством для решения проблем с расширениями веб-служб является гиперссылка Allow All Web Service Extensions For A Specific Application (Разрешить все расширения веб-служб для определенного приложения). Она используется для включения всех расширений, от которых зависит работа одного конкретного расширения.

    Проблемы, связанные с разрешениями

    Неверная установка разрешений файловой системы NT File System (NTFS) может разрушительно сказаться на веб-сайте. Необходимо не только помнить о разрешениях на сайте, но и обеспечить доступность любых используемых COM-объектов. Разрешения на сайте довольно просты и понятны, однако большинство динамически подсоединяемых библиотек (DLL) находятся в каталоге System32. В этом-то и заключается сложность.

    Если рабочий процесс IIS не может получить доступ к DLL-библиотеке ISAPI со списком ACL, то все запросы на эту библиотеку будут завершаться ошибкой 503. Необходимо, чтобы рабочий процесс мог загрузить все библиотеки DLL, используемые на сайте.

    При устранении проблем с разрешениями (особенно если вы не уверены, что проблема связана именно с разрешениями), самым простым способом выявить проблему является расширение разрешений. Если доступ к сайту выполнен под аутентификационными данными администратора, но проблема по-прежнему не устранена, то дело, скорее всего, не в разрешениях. Если невозможен доступ под учетной записью Internet Guest (Гостевая учетная запись интернета), то проблема определенно заключается в разрешениях.

    Предупреждение. В данный момент читатель может задаваться вопросом: "В этой книге не меньше 30 раз говорилось о том, что нельзя использовать расширенные разрешения, так в чем же дело?". Это справедливый вопрос, однако данный подход помогает определить, связана ли проблема с разрешениями. Расширенные полномочия требуют строжайшего контроля. Определенно не стоит использовать данный подход в тот момент, когда сайт находится в состоянии функционирования. Необходимо оградить сайт от доступа посторонних лиц, а затем протестировать его. По окончании этого процесса необходимо вернуть разрешениям соответствующие значения. Нельзя же допустить, чтобы с сайтом все работали на правах администраторов!

    Рабочие процессы

    В IIS 5 приложения выполнялись внутри процесса с использованием по умолчанию учетной записи LocalSystem. Эта учетная запись имеет более высокий уровень прав, нежели рабочие процессы IIS 6, так как они работают как сетевые службы. Если приложение, правильно работающее в среде IIS 5, вызывает проблемы при работе с IIS 6, можно проверить следующие настройки.

    Учетная запись рабочего процесса

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

    Ниже описан процесс изменения учетной записи рабочих процессов в пуле приложения:

  • Выделите пул приложения в консоли MMC IIS.
  • Выберите команду Action\Properties (Действие\Свойства).
  • Перейдите на вкладку Identity (Учетная запись).
  • Выберите учетную запись Network Service (Сетевая служба), Local Service (Сетевая служба) или Local System (Локальная система) либо выберите учетную запись пользователя локального компьютера или доверенного домена.
  • Рециркуляция рабочих процессов

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

  • Мульти-объектные ISAPI, предназначенные для многоразового единовременного использования различными процессами.
  • Фильтры чтения исходных данных, которые пытаются захватить все данные перед тем, как они достигнут веб-сайта.
  • Внутрипроцессные сеансовые переменные состояния, т.к. они уничтожаются при каждой рециркуляции рабочего процесса.
  • Приложения, передающие работу для выполнения своим собственным рабочим процессам.
  • Отключение веб-службы

    В некоторых случаях клиент получает сообщение об ошибке HTTP 503. При появлении ошибок 503 события записываются в журнал событий Windows. В этом случае следует открыть Event Viewer (Просмотр событий) и проверить, где возникла ошибка – в файле HTTP.sys или в службе WWW. Если ошибка возникла в HTTP.sys, проверьте длину очереди пула приложения. Ошибка могла возникнуть из-за получения слишком большого количества запросов. Очередь пула приложения можно изменить вручную.

  • В консоли MMC IIS выделите пул приложения, который необходимо изменить.
  • Выберите команду Action\Propеrties (Действие\Свойства), после чего откройте вкладку Performance (Производительность).
  • В области Request Queue Limit (Предел очереди запроса) увеличьте значение количества запросов.
  • Нажмите на кнопку OK.
  • Если ошибка возникла в службе WWW, возможно, что IIS обнаружила несколько ошибок в рабочих процессах и инициировала оперативную защиту от ошибок. Это вызвало прекращение обработки запросов "пострадавшим" пулом приложения; такая система безопасности защищает сервер от повреждения неправильно функционирующими приложениями. Если такие обстоятельства возникнут единожды, это может свидетельствовать о наличии какой-либо аномалии. Если же это происходит часто, то следует проверить конфигурацию приложения, так как это говорит о неверных настройках. Можно увеличить допустимое число ошибок и интервал времени, однако это не устранит источник проблемы.

    Настройка параметров системы быстрого обнаружения ошибок производится следующим образом:

  • В консоли MMC IIS выделите пул приложения, в который следует внести изменения.
  • Выберите команду Action\Properties (Действие\Свойства) и откройте вкладку Health (Состояние).
  • Увеличьте значения параметров для ошибок и/или интервала времени, в течение которого IIS отслеживает ошибки рабочих процессов.
  • Нажмите на кнопку OK.
  • Мониторинг производительности

    Необходимо осуществлять мониторинг производительности сервера IIS. Можно иметь программу, написанную лучшими специалистами в мире, однако если сервер, на котором располагается эта программа, будет обладать недостаточно высокой мощностью, то могут возникнуть проблемы, связанные с производительностью. Программа Windows Performance Monitor (Индикатор производительности Windows) (см. рис. 8.2) позволяет фиксировать данные в файле, после чего проверять эти данные на наличие проблем с производительностью. В ОС Windows имеется более 50 объектов производительности, которые можно отслеживать. Программа Performance Monitor (Индикатор производительности) позволяет отслеживать систему в реальном времени, генерировать журналы для дальнейшего просмотра, а также генерировать оповещения, выдаваемые при возникновении настраиваемых условий. Ниже описываются счетчики, которые представляют наибольший интерес при ведении журнала на сервере IIS.

    (рис 8.2) Индикатор производительности
  • Active Server Pages (ASP). Фиксируют ошибки в сценариях ASP, кэшах шаблонов, статистические данные, связанные с запросами и многое другое.
  • FTP Service (Служба FTP). Отслеживают полное количество байт, соединений, прерванных пользователями и операциями входа, а также передачи файлов. Internet Information Services Global.Отслеживают большие двоичные объекты ( BLOB ), а также статистическую информацию о файлах и кэшировании URI.
  • Memory (Память). Фиксируют данные об использовании памяти, а также о качестве страничной организации памяти.
  • Network Interface (Сетевой интерфейс). Фиксируют переданные байты, использованную полосу пропускания, а также качество передачи пакетов, включая возникшие ошибки.
  • NNTP Commands (Команды NNTP). Ведут статистику того, сколько команд каждого типа NNTP принимается сервером.
  • NNTP Server (Сервер NNTP). Отслеживают количество байт, пользователей, соединений и поступления данных.
  • Physical Disk (Физический диск). Записывают информацию о передаче данных физическим диском. Это позволяет определить достижение сервером предела ввода/вывода информации.
  • Processor (Процессор). Записывают процентные значения времени, в течение которого процессор обрабатывает команды, а также состояние процессора.
  • Server (Сервер). Ведут статистику о страничном файле, трафике входа в систему, ошибках и пр.
  • SMTP NTFS Store Driver (Драйвер хранения SMTP NTFS). Отслеживает количество расположенных на сервере сообщений, удаленных сообщений, пронумерованных сообщений и сообщений, находящихся в очереди.
  • SMTP Server (Сервер SMTP). Содержит более 100 счетчиков, предназначенных для фиксирования дополнительной информации о сообщениях.
  • Web Service (Веб-служба). Содержит около 85 счетчиков, отслеживающих различные типы запросов HTTP и ошибок, запросов CGI/ISAPI и информацию о подключениях.
  • Web Service Cache (Кэш веб-службы). Фиксируют статистические данные о компоненте веб-сервера, включая успешное и неудачное выполнение операций для различных элементов, используемых веб-службой. Большая часть счетчиков взаимодействует с кэшированием URI.
  • Мониторинг в реальном масштабе времени

    С помощью System Monitor (Системного индикатора) осуществляется мониторинг сервера в реальном времени.

  • Откройте консоль MMC Performance (Производительность), выбрав команду Start\Administrative Tools\Performance (Пуск\Администрирование\Производительность).
  • Щелкните на System Monitor (Системный индикатор) (этот элемент выделен по умолчанию).
  • На панели инструментов вверху индикатора щелкните на значке "+".
  • В диалоговом окне Add Counters (Добавить счетчики) укажите, какой компьютер необходимо отслеживать; по умолчанию выбран рассматриваемый компьютер.
  • Из ниспадающего списка выберите объект Performance (Производительность), который необходимо использовать.
  • Выберите из списка отдельный счетчик.
  • При наличии нескольких процессоров выберите тот процессор, для которого выполняется мониторинг, либо выберите значение Total (Все).
  • Нажмите на кнопку Add (Добавить). Счетчик будет добавлен, но окно Add Counters (Добавление счетчиков) останется активным.
  • Повторите шаги 3-7 для каждого счетчика, который необходимо добавить.
  • После добавления всех соответствующих счетчиков нажмите на кнопку Close (Закрыть).
  • Эта операция поможет выполнять мониторинг в режиме реального времени, однако обеспечит долгосрочного фиксирования информации. Для этого предназначены журналы счетчиков.

    Работа с журналами счетчиков

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

  • В консоли MMC Performance (Производительность) выделите Counter Logs (Счетчики журналов) в пункте Performance Logs and Alerts (Журналы и оповещения производительности).
  • Выберите команду Action\New Log Settings (Действие\Параметры нового журнала).
  • В окне New Log Settings (Параметры нового журнала) введите имя создаваемого журнала.
  • Нажмите на кнопку OK. Откроется окно свойств.
  • В окне свойств для рассматриваемого журнала вы увидите три вкладки: General (Общие), Log Files (Файлы журнала) и Schedule (Расписание).

    Вкладка General (Общие)

    Во вкладке General (Общие) (см. рис. 8.3) добавляются объекты и счетчики в журнал, а также настраивается метод сбора данных.

    (рис 8.3) Вкладка General (Общие)

    Под объектами подразумеваются объекты производительности, определенные Windows. Можно добавить в журнал объект производительности целиком, в результате чего будут автоматически фиксироваться данные для каждого счетчика этого объекта. Данный подход требует большого количества дискового пространства. Для добавления объекта нажмите на кнопку Add Objects (Добавить объекты) и выделите все объекты, отслеживание которых необходимо осуществлять, в открывшемся диалоговом окне. После этого нажмите на кнопку Close (Закрыть).

    Счетчиками называются отдельные счетчики производительности, находящиеся в объекте. Можно выбрать мониторинг отдельного счетчика, в результате чего будет использоваться меньший объем дискового пространства. Файл журнала в этом случае не будет столь детализованным, как если бы осуществлялся мониторинг всего объекта. Для добавления счетчика нажмите на кнопку Add Counters (Добавить счетчики) и в открывшемся диалоговом окне выберите нужные счетчики. После этого нажмите на кнопку Close (Закрыть).

    Как правило, при наличии достаточного объема дискового пространства и циклов центрального процессора следует добавлять объекты, а не счетчики.

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

    В области Sample Data Every (Проверочные данные каждые) настраивается интервал времени сбора информации. По истечении этого интервала индикатор производительности опрашивает все установленные счетчики производительности для получение текущих данных. Эти данные затем записываются в журнал. Чем чаще осуществляется сбор данных, тем больше размер журнала и более подробна фиксируемая информация. Укажите оптимальный интервал времени для соотношения размера файла и степени его детализации – от 1 с до 45 дней.

    В текстовом поле Run As (Выполнить как) указывается учетная запись пользователя, под которой выполняется Performance Monitor (Индикатор производительности). Это позволяет выполнять мониторинг независимо от того, кто находится в системе.

    Вкладка Log Files (Файлы журнала)

    Во вкладке Log Files (Файлы журнала) (см. рис. 8.4) настраивается тип журнала, в который будет записываться информация.

    (рис 8.4) Вкладка Log Files (Файлы журнала)

    Здесь для выбора представлены следующие опции.

  • Text File (Comma Delimited) – текстовый файл с разделителями-запятыми.
  • Text File (Tab Delimited) – текстовый файл с разделителями-табуляцией.
  • Binary File – двоичный файл.
  • Binary Circular File – двоичный циклический файл.
  • SQL Database – база данных SQL.
  • Вы можете задать метод нумерации файлов журнала. Это особенно полезно в том случае, когда запись в журнал осуществляется с определенной периодичностью. Можно выбрать присоединение к журналу даты и времени в различных форматах либо просто задать возрастающую нумерацию каждого журнала. Кроме этого, можно добавить комментарий к журнала и указать необходимость перезаписи имеющихся файлов.

    Вкладка Schedule (Расписание)

    Во вкладке Schedule (Расписание) (см. рис. 8.5) настраивается промежуток времени, согласно которому будет осуществляться сбор данных.

    (рис 8.5) Вкладка Schedule (Расписание)

    В области Start Log (Запуск журнала) указывается запуск файла журнала вручную либо запуск по определенным дате и времени.

    В области Stop Log (Остановка журнала) указывается необходимость остановки журнала следующими методами:

  • вручную;
  • по прошествии определенного промежутка времени;
  • в определенные день и время;
  • по заполнении журнала.
  • При закрытии журнала можно запускать новый журнала. Если включена опция Start A New Log File (Запускать новый журнал), то будет создаваться новый журнал согласно правилам нумерации, указанным во вкладке Log Files (Файлы журнала). Вы можете указать необходимость выполнения определенной команды при закрытии журнала: задать сценарий, обрабатывающий данные, либо другую программу на усмотрение пользователя.

    Осуществив сбор данных, можно с большей долей вероятности выявить проблемы в системе и проверить соответствие сервера IIS системным требованиям.

    Использование оповещений в Performance Monitor

    Программа Performance Monitor (Индикатор производительности) имеет настраиваемые пороговые значения, по достижении которых инициируются действия по обработке. Это позволяет отслеживать состояние сервера и обнаруживать неполадки.

    Ниже приведены инструкции по созданию оповещения.

  • В левой области Performance Logs (Журналы производительности) щелкните на записи Alerts (Оповещения).
  • Выберите команду Action\New Alert Settings (Действие\Параметры нового оповещения).
  • В окне New Alert Settings (Параметры нового оповещения) введите имя нового оповещения.
  • Нажмите на клавишу OK.
  • В открывшемся окне свойств с помощью вкладок General (Общие), Action (Действие) и Schedule (Расписание) произведите настройку создаваемых оповещений.
  • Вкладка General (Общие)

    Вкладка General (Общие) (см. рис. 8.6) позволяет задать отслеживаемые счетчики и установить пороговые значения. Здесь можно выбрать несколько отдельных счетчиков из объекта для мониторинга.

    (рис 8.6) Вкладка General (Общие) окна настройки оповещений

    Comment (Комментарий). Укажите описание данного счетчика. Это имя должно быть информативным, которое поможет в дальнейшем распознать данный счетчик.

    Counters (Счетчики). Просмотр выбранных счетчиков, а также того, к какому экземпляру применяется каждый счетчик.

    Alert When The Value Is Over/Under Limit (Выдавать оповещение, когда значение выше/ниже предельного). Настройте пороговое значение для данного счетчика. Например, для % Processor Time (Процессорное время в процентах) задайте оповещение при превышении определенного значения, например, 90%. По достижении порогового значения выполняется действие, указанное во вкладке Action (Действие). Это пороговое значение является одноразовым триггером, и не функционирует в течение какого-либо времени. Если степень использования процессора единожды достигает 90%, действие выполняется. По этой причине триггеры процессора являются не лучшим методом использования оповещений, так как стопроцентная загрузка процессора представляет собой нормальное явление. Тем не менее, выявление продолжительной стопроцентной загрузки процессора является полезным триггером оповещений.

    Sample Data Every (Проверочные данные каждые). Измените интервал сбора данных. По прошествии заданного интервала программа Performance Monitor (Индикатор производительности) опросит все счетчики производительности для получения текущих данных.

    Run As (Выполнить как). Укажите учетную запись пользователя, под которой будет выполняться программа Performance Monitor (Индикатор производительности). Это позволит обеспечить мониторинг независимо от того, кто находится в системе.

    Вкладка Action (Действие)

    Во вкладке Action (Действие) (см. рис. 8.7) указываются действия, выполняемые при возникновении события. Можно задать следующие действия.

    (рис 8.7) Вкладка Action (Действие)

    Log An Entry in the Application Event Log (Заносить запись в журнал событий приложения). Записывает событие с детальными данными счетчика оповещения, значение, вызвавшее оповещение, и пороговое значение. Источником события является SysmonLog.

    Send A Network Message To (Отправить сетевое сообщение). Отправляет сетевое сообщение с помощью службы сообщений по имени, указанном в текстовом поле.

    Start Performance Data Log (Запуск журнала с данными о производительности). Запускает журнал, указанный в ниспадающем списке. Этот журнал будет функционировать до остановки расписания или до остановки вручную.

    Run This Program (Выполнить эту программу). Выполняет определенную программу. Опция используется для запуска отладчика, выполнения сценария, отправки электронной почты или выполнения другого действия. Приложение запускается с указанными аргументами командной строки. Опция прекрасно подходит для выполнения сценария VBScript.

    Command Line Arguments (Аргументы командной строки). Указывает параметры, передаваемые приложению при его выполнении. Содержит семь аргументов:

  • Single argument string – строка с одним аргументом;
  • Date/Time – дата/время;
  • Measured value – измеряемое значение;
  • Alert Name – имя оповещения;
  • Counter Name – имя счетчика;
  • Limit value – предельное значение;
  • Text message – текстовое сообщение.
  • Опция Single argument string присваивает строке формат разделителей-запятых вместо указания каждой переменой по отдельности. Опция Text message позволяет вводить любой текст, который необходимо отправить. Это очень полезная возможность; так как осуществляется настройка оповещения, пользователь знает, что именно запускается, и добавляет текстовое сообщение для переменной, которая необходима для запуска сценария VBScript, написанного для обработки рассматриваемой ситуации.

    Вкладка Schedule (Расписание)

    Вкладка Schedule (Расписание) используется в точности так же, как и в других областях программы Performance Monitor (Индикатор производительности). Так как ее описание уже было приведено, ее мы рассматривать здесь больше не будет. Вернитесь назад на несколько страниц, чтобы ознакомиться с подробной информацией о вкладке Schedule (Расписание).

    Вернуться к учебному плану