If i help You, send me BTC please 1CJGz4UGyL7hTjPeN8j7fu9LRmmWiWSRHi

Сбор статистики с сайта на IIS. Awstats.

Постов 40 из 174

Хоть инфа и устарела, но может быть полезной при настройке в некоторых компаниях, по-прежнему использующих соответствующую связку (хочется верить, что таких все меньше).

Сбор статистики сайта с web-серверов IIS можно осуществить с помощью Awstats. Ниже приведен пример настройки для сайта usefree.com.ua
ОС: Windows 2003 server standart edition sp2
IIS: 6.0
Awstats: 7.3
Perl: 5.16.3.1603-MSWin32-x86-296746

Конфигурация IIS 6 логов

Для редактирования параметров ISS, связанных с логированием необходимо открыть:
cmd - inetmgr - Default Web Site - Properties - WEB Site - W3C Extended Log File Format - Properties - Advanced и выставить следущие чек-боксы:

- Date (date)
- Time (time)
- Client IP Address (c-ip)
- Username (cs-username)
- Method (cs-method)
URI Stem (cs-uri-stem)
URI Query (cs-uri-query)
- Protocol Status (sc-status)
- Bytes Sent (sc-bytes)
- Time Taken (time-taken)
- Protocol Version (cs-version)
- Host (cs-host)
- User Agent (cs(User-Agent))
- Referrer (cs(Referrer))

Соответствующий формат лога должен быть выставлен в переменной LogFormat конфиг-файла Awstats. Для перечисленного выше перечня параметров параметр LogFormat описан ниже. ссылка на пост с разъяснением Формату лога IIS:

#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Cookie) cs(Referer) sc-status c-substatus sc-win32-status sc-bytes cs-bytes time-taken

Соответствует значение переменной LogFormat из конфиг-файла Awstats:

LogFormat = "%time2 %other %other %method %url %query %other %logname %host %ua %other %referer %code %other %other %bytesd %other %other"

Создание сайта на Web-сервере для работы с Awstats

Собранную статистику есть возможность отображать на страницах сайта, расположенного на том же веб-сервере, на котором хостится исследуемый сайт. Для этого необходимо в оснастке inetmgr выполнить настройку.

Создать новый сайт:

IIS - WEBsites - New Website

Заполнить:

Description - awstats
Enter IP address: usefree.com.ua\statistics
TCP Port: 81
Host header - none
Path: C:\Inetpub\AWStats
- каталог, где будут располагаться файлы сайта со статистикой.

Allow permissions - Read
Стартовая страничка:
usefree.com.ua\statistics.html

Выполнить:

cmd - iisreset

Установка Perl

Установить пакет ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi в C:\Perl\

Установка и настройка Awstats

Распаковать awstats-7.3.zip в любой каталог, например: C:\Awstats\

Скопировать готовый конфиг-файл в C:\AWStats\wwwroot\cgi-bin\ или в командной строке Windows выполнить:

C:\Awstats\tools\awstats_configure.pl

На задаваемые в консоли вопросы отвечать так:

Apache WEB Server path - none
Do you want to build a new Awstats config/profile file? - y
What is name your website - usefree.com.ua
Enter

После выполнения скрипта в каталоге \Awstats\wwwroot\cgi-bin\ появится конфиг-файл awstats.usefree.com.ua.conf Далее в нем необходимо отредактировать параметры:

- LogFormat="%time2 %method %query %other %logname %host %other %ua %url %virtualname %code %bytesd %extra1"
LogFile=D:\Awstats_temp\result.log - объединенный файл лога IIS как объединять - описано ниже.
SkipHosts="" - перечень хостов, которые необходимо исключить из отчета.(необязательный параметр)
OnlyHosts="" - перечень хостов, по которым необходимо сформировать отчет (необязательный параметр)
SiteDomain="usefree.com.ua"
HostAliases="usefree.com.ua www.usefree.com.ua 127.0.0.1 localhost"
DNSLookup=1
LoadPlugin="timezone +2"
URLWithQuery=0
MaxNbOfPageShown = 15

Параметры SkipHosts и OnlyHosts редактируются перед выполнением команды генерации отчета в случае, если необходимо собрать статистику по определенной группе посетителей сайта (Internet, local).
Для формирования отчета по посетителям из сети Internet редактируется параметр SkipHosts:

SkipHosts="127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"

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

OnlyHosts="127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"

Для корректного отображения отчетов необходимо правильно расположить некоторые элементы страниц:

mkdir C:\Inetpub\AWstats
mkdir C:\Inetpub\AWstats\icon
xcopy c:\AWstats\wwwroot\icon c:\Inetpub\AWstats\icon /E

Формирование отчета

Для формирования отчета за весь период, за который собирались логи, необходимо объединить однодневные логи IIS в один лог
Для склейки в консоли выполнить команды:

cd C:\Awstats\tools\

logresolvemerge.pl "C:\WINDOWS\system32\LogFiles\W3SVC1\*.log |" >> D:\Awstats_temp\result.log

После этого в каталоге D:\Awstats_temp\ сформируется файл result.log, который будет использован далее для получения отчета.
Для формирования отчета необходимо выполнить команды обновления баз и формирования отчета:

C:\Awstats\wwwroot\cgi-bin\awstats.pl -config=usefree.com.ua -update

C:\Awstats\tools\awstats_buildstaticpages.pl -config=usefree.com.ua -month=all -lang=ru -dir=C:\Inetpub\AWStats -awstatsprog=C:\Awstats\wwwroot\cgi-bin\awstats.pl

здесь:

  1. C:\Awstats\tools\ — каталог расположения скрипта.
  2. awstats_buildstaticpages.pl — собственно перл-скрипт, формирующий веб-странички со статистикой.
  3. config=usefree.com.ua — конфиг-файл, отредактированный выше.
  4. month=all — параметр, задающий период, за который формировать отчет. Возможные значения: all — за весь период; 01,02..12 — номер месяца, за который нужно составить отчет.
  5. lang=ru — язык отчета.
  6. dir=C:\Inetpub\AwStats — каталог, где будут сформированы страницы отчета.
  7. awstatsprog=C:\Awstats\wwwroot\cgi-bin\awstats.pl — размещение скрипта awstats.pl.

После запуска этой команды на выполнение перед собственно формированием веб-страниц с отчетами происходит формирование файлов баз данных за отчетный период. Формирование файла базы данных за один месяц может занимать продолжительное время (несколько часов). Формирование отчета с учетом сформированных ранее баз данных происходит быстро.

Ежедневное обновление

После обработки старых лог-файлов веб-сервера IIS и актуализации баз данных Awstats необходимо настроить Awstats на ежедневное обновление статистики.
Для этого необходимо:
Отредактировать параметр LogFile в конфиг-файле usefree.com.ua:

LogFile="C:\WINDOWS\system32\LogFiles\W3SVC1\ex%YY%MM%DD.log"

где ex%YY%MM%DD: маска файла, которая будет использоваться при вычислении имени файла.
Написать скрипт DailyAwstatsUpdate.bat с телом:

@echo off
set perl="C:\Perl\bin\perl.exe"
%perl% C:\Install\awstats\wwwroot\cgi-bin\awstats.pl -config=usefree.com.ua -update

Поместить этот скрипт в планировщик Windows на ежедневный запуск в период с 23:50.

, , , , , , , ,

Menu