Использование SQL Server для анализа веб-журналы

Tsql теория > Использование SQL Server для анализа веб-журналы
01.04.2013 14:23:23



Статья:

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

В данной статье описывается способ импорта Журналы IIS в World Wide Web Consortium (W3C) расширенный формат файла журнала в Microsoft SQL Server для упрощения проверки файлов журнала IIS. Предоставленные методы также могут быть изменены для других форматов файлов журнала.

Дополнительная информация

Веб-журналы, текстовые файлы с разделителями в соответствии с RFC 2616 "гипертекстовой передачи протокола HTTP/1.1" (http://www.rfc-editor.org/rfc/rfc2616.txt).

В формате расширенного формата W3c поля являются довольно собственный пояснительный: Дата и время, только что кажется; [c-IP-адрес] — IP-адрес клиента; [cs метод] является метод HTTP для запроса, было выполнено; [ресурс cs uri] является документом, который был запрошен; [cs uri запроса] строки запроса, которая была отправлена как часть запроса зарегистрировано; [sc состояние] – код состояния, возвращенный сервером; [sc байт] — это количество байтов, которые были возвращены пользователю; [время съемки] время в миллисекундах, затраченное на сервере завершить обработку запроса; [cs(Cookie)] — файл cookie, или постоянных данных в запросе; а [cs(Referer)] — URL-адрес предыдущего узла, просмотренный пользователем. Формат расширенного формата W3c существует несколько дополнительных полей, которые могут быть выбраны, которые описаны в справке IIS и на веб-узле корпорации Майкрософт: Журналы имеют следующий формат:

Развернуть эту таблицу
Дата время c-ip CS метод CS ресурс uri CS запрос uri состояние SC SC байт затраченное время CS(User-Agent) CS(cookie) CS(Referrer)


Свойства веб-узла на вкладке веб-узел , а также в случае расширенного формата W3c, выбранного на вкладкеРасширенные свойства поля соответствует заголовков файлов журнала. Если ваш веб-журналы уже в таблицу в Microsoft SQL Server, вполне вероятно из-за ведение журнала ODBC. Однако при использовании полей ведение журнала ODBC не настраиваются. Справке IIS содержит инструкции по настройке ведения журнала ODBC, который включает использование Logtemp.sql для создания таблицы в структуру.

Enterprise Manager можно использовать для создания таблицы, но стало быстрее и помощь в автоматизации процесса, вместо этого используйте следующий сценарий в анализаторе запросов для создания таблицы:
CREATE TABLE [dbo].[tablename] (
	[date] [datetime] NULL,
	[time] [datetime] NULL ,
	[c-ip] [varchar] (50) NULL ,
	[cs-method] [varchar] (50) NULL ,
	[cs-uri-stem] [varchar] (255) NULL ,
	[cs-uri-query] [varchar] (2048) NULL ,
	[sc-status] [int] NULL ,
	[sc-bytes] [int] NULL ,
	[time-taken] [int] NULL ,
	[cs(User-Agent)] [varchar] (255) NULL ,
	[cs(Cookie)] [varchar] (2048) NULL ,
	[cs(Referer)] [varchar] (2048) NULL 
	)
				

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

После создания таблицы данных можно импортировать с помощью мастера импорта сопоставление из *.log файла базы данных и таблицы.

С помощью мастера может быть сложным, поэтому ниже можно использовать для ускорения Импорт веб-журналы:
BULK INSERT [dbo].[tablename] FROM 'c:\weblog.log'
WITH (
    FIELDTERMINATOR = ' ',
    ROWTERMINATOR = '\n'
)
				

Обратите внимание, что инструкции bulk insert завершится неудачей, когда он встречает строки, начинающиеся с символа «#». Для веб-журналы сюда относятся первые четыре строки, а также любые другие экземпляры при остановлен и запущен, так как заголовок строки записываются при перезапуске службы сервера. Программа и исходный код, чтобы удалить эти строки и подготовка журнала для инструкции bulk insert в SQL Server, предоставляет следующей статье Microsoft Knowledge Base:
296093 ФАЙЛ: PrepWebLog программа подготавливает Журналы IIS для SQL инструкции Bulk Insert
По завершении импорта Query Analyzer можно использовать для выполнения запросов для организации данных.Например:
Select [cs-uri-stem], [time-taken] from tablename where [time-taken] >= 20000 and time between '1899-12-30 16:30:00.000' and '1899-12-30 17:30:00.000' 
				
Этот запрос отображает имена страниц заняло более чем 20 секунд для обработки и обработки, от 4:30 до 17:30 по, а также время (в миллисекундах) для каждого.

Обратите внимание, что по умолчанию веб-журналы записываются в Дублин, Эдинбург, так, если не были внесены изменения для записи журналов в формате местного времени необходимо скорректировать для местного времени при просмотре журналов.

Другой пример запроса:
Select distinct [cs-uri-stem], [time-taken] from tablename where [time-taken] > (select avg([time-taken]) from tablename)order by [time-taken] desc
				
Этот запрос находит среднее [-затраченное время] для каждой записи в файл журнала и затем выбирает [cs--ресурс uri] и [-затраченное время] и организует это в порядке убывания по [затраченное время]. Добавив предложение «интервал между» может продолжить обнаружение результатов этого запроса.