Опубликован: 20.02.2006 | Доступ: свободный | Студентов: 3558 / 479 | Оценка: 4.34 / 3.99 | Длительность: 21:22:00
ISBN: 978-5-9570-0022-1
Лекция 11:

Ведение журналов

Журналы ODBC

Журналы ODBC – это более сложный тип журналов, он не имеет всех опций, доступных в журнале W3C. Тем не менее, если вы хотите использовать свои собственные, а не стандартные, оповещения о событиях IIS, вам потребуется журнал ODBC. Преимуществом журналов ODBC является то, что файлы журналов для каждого IIS-сайта сохраняются в одном месте, используется любая база данных, совместимая с ODBC, например, MS Access, SQL Server или Oracle. IIS не содержит готовой базы данных, поэтому ее нужно создать заблаговременно.

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

Журналы ODBC имеют фиксированные поля данных, поэтому их нельзя изменять. Максимальное количество символов в каждом поле ограничено – 255. Это не вызовет проблем, если записываемые в поля адреса URL не слишком длинные. В журналах ODBC фиксируется местное время.

Формат журнала ODBC

Журнал ODBC использует следующие поля.

Поле Описание
ClientHost IP-адрес клиента.
username Входное имя пользователя.
LogTime Время внесения записи в журнал.
service Идентификатор IIS службы (например, W3SVC1).
machine Имя компьютера клиента.
serverip IP-адрес, используемый клиентом для доступа к серверу.
processingtime Время, затраченное на обработку запроса (мс).
bytesrecvd Количество байт, отправленных клиентом серверу.
bytessent Количество байт, отправленных сервером клиенту.
servicestatus Записывает сообщение о состоянии протокола (например, "404: HTTP не найден")
win32status Записывает состояние Windows с сервера на клиент.
operation Метод, используемый клиентом для доступа к серверу.
target Основная часть URI, отправленная клиентом серверу, а также путь к документу (все, что указано после имени сервера).
parameters Параметры, переданные сценарию.
Создание базы данных для журналов ODBC

Для установки базы данных создайте новую базу данных. В рамках нашего примера используется MS Access.

  1. Запустите программу MS Access.
  2. Отобразится диалоговое окно со следующими вариантами: создание пустой базы данных, использование мастера или открытие имеющегося файла. Выберите создание пустой базы данных. Вам будет предложено сохранить базу данных.
  3. Укажите любое имя и место расположения, поскольку IIS будет использовать DSN для подключения к базе данных.

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

  1. В главном окне базы данных выберите Insert\Query (Вставка\Запрос), затем – Design View (Дизайн).
  2. После выбора создания нового запроса появится окно Show Table (Показ таблицы).
  3. Нажмите Close (Закрыть), чтобы перейти в окно Select Query (Выбор запроса).
  4. Выберите команду View\SQL View (Просмотр\В виде SQL), чтобы изменить представление.

Совет. Если вы проводите тестирование или ведете журналы только для одного веб-сайта, то можно использовать MS Access. Если ведение журналов организуется для более серьезных целей, и журналы нескольких сайтов записываются в одну базу данных, настоятельно рекомендуем работать с более серьезной базой данных. Microsoft свободно распространяет продукт Microsoft Data Environment (MSDE), который позволяет вести журналы для нескольких сайтов. Суммарный размер журналов в базе данных – 2 Гб. Для очень больших журналов используйте Microsoft SQL Server.

Для создания таблицы введите SQL-код, например:

create table inetlog (
ClientHost varchar(255), 
username varchar(255),
LogTime datetime, 
service varchar( 255), 
machine varchar( 255),
serverip varchar( 50), 
processingtime int, 
bytesrecvd int,
bytessent int, 
servicestatus int, 
win32status int,
operation varchar( 255), 
target varchar(255), 
parameters varchar(255)
 )

В результате его выполнения будет создана таблица inetlog, в которой содержатся все столбцы, необходимые для хранения данных сайта IIS. Синтаксис команды имеет следующий вид:

[имя_таблицы] [тип данных (максимальный размер)]

В нашем примере в таблице отсутствуют поля длиной более 255 символов, причем размер поля задается только для полей типа varchar (текстовых).

Если нужно переименовать таблицу (например, все таблицы для сайтов должны находиться в одной базе данных), то задайте другое имя в выражении SQL. Запомните это имя, поскольку оно потребуется при настройке свойств журнала.

Примечание. Приведенный здесь код SQL содержится в файле %systemroot%\System32\inetsrv\logtemp.sql и может использоваться для создания таблицы в любой серьезной СУБД (не только в Access).

После вставки сохраните SQL-код и закройте окно, затем присвойте запросу имя для дальнейшего использования. Теперь нужно выполнить запрос. В результате будет создана таблица, отображающая стандартное предупреждение. Закройте базу данных, запомните ее название и место расположения – эти данные потребуются в дальнейшей работе.

Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Владимир Кирин
Владимир Кирин
Неполодки на ресурсе.При сдаче 7 теста, открывается пустое окно, и ничего не происходит.Поправте пожалуйста. При этом попытка считается защитана, перездача только через 30 мин. Использую браузер опера.