Исключительно мощный пакет для использования под Windows
Сейчас, когда вы читаете эти строки, миллионы пользователей ищут в Internet решение или ответ на вопрос. Те слова, которые они введут в поисковую систему, будут определять результаты поиска, возвращаемые в виде соответствующих ссылок, которыми они затем смогут воспользоваться. Если слова, определяющие критерии поиска, были введены правильно, нужный Web-сайт окажется в списке, возвращаемом пользователю поисковой системой, если же ввод слов был осуществлен некорректно, то нет. Знаете ли вы, какие ключевые слова вводились пользователями ранее для того, чтобы найти ваш Web-сайт? Известно ли вам, какие ключевые слова наиболее часто служат им указателями на него?
Хотя инструменты анализа данных Web существуют уже довольно давно, я до сих пор не перестаю удивляться. Возможности механизмов поиска информации и разбиения данных, реализованные в современных пакетах анализа Web-данных, действительно поразительны. Хотите узнать, как ваши клиенты находят вас? Ознакомьтесь с результатами анализа журнала Web-сайта и найдите, какие ключевые слова используют клиенты, для того чтобы выйти на ваш сайт. Нужно выяснить, какой тип операционной системы чаще всего встречается на компьютерах посетителей сайта (Windows 2000, Windows 98, Apple Computer Mac OS X или Linux). Программы анализа Web могут быстро предоставить такую информацию. Все это хорошо, но что делать, если бюджет компании не позволяет закупить программное обеспечение подобного типа? На такой случай в сообществе open source существует исключительно мощное средство анализа данных Web, которое может работать под управлением Windows.
Первая версия программы AWStats была разработана Лораном Дестелем, специалистом по компьютерам из Парижа. Она появилась в мае 2000 года. Дестелю было необходимо получать регулярные отчеты по статистике Web-данных компании, а поскольку требовалось приложение, имеющее большие возможности, чем те программы с открытым кодом, которые были доступны на тот момент в имеющихся источниках, он создал собственный пакет. Затем, в октябре 2000 года, Лоран разместил исходный код своей программы на языке Perl на SourceForge.net, после чего этот проект начал постоянно расширяться и совершенствоваться. В результате на сегодня продукт AWStats дорос до версии 6.2 и является на данный момент исключительно надежным и достоверным средством анализа данных журналов. AWStats способен функционировать в режиме командной строки, но может использоваться и как интерактивный компонент для Microsoft Internet Information Server (IIS). Данный продукт обеспечит создателей Web-сайта исчерпывающей информацией о том, кто посещает его.
Для того чтобы продемонстрировать процедуру установки пакета AWStats, я использовал Windows 2000 Server с принятыми по умолчанию настройками IIS. Таким образом, путь к Web-сайту, который будет анализироваться, соответствует C:Inetpubwwwroot, а файлы журналов размещаются в стандартном каталоге C:WINNTSystem32LogFiles.
Шаг 1. Настройка IIS
Единственное, что нужно настроить в IIS, это формат файлов журнала. Принятый в IIS по умолчанию формат журнала не обладает достаточной информативностью для AWStats, поэтому требуется настроить IIS так, чтобы он сохранял файлы журналов в расширенном формате консорциума World Wide Web (W3C). Это делается следующим образом. Следует запустить оснастку Internet Information Services консоли MMC (Microsoft Management Console) и щелкнуть правой кнопкой мыши по значку того Web-сайта, настройки параметров журналов которого необходимо изменить, и выбрать пункт Properties. В диалоговом окне Default Web Site Properties из выпадающего списка Active log format нужно выбрать пункт W3C Extended Log File Format. Затем требуется щелкнуть кнопку Properties, в результате чего откроется диалоговое окно Extended Logging Properties. Убедитесь, что в данном окне выбраны следующие параметры:
- date
- time
- c-ip
- cs-username
- cs-method
- cs-uri-stem
- cs-uri-query
- sc-status
- sc-bytes
- cs-version
- cs(User-Agent)
- cs(Referer)
Никаких других параметров выбирать не следует. Это связано с тем, что для работы AWStat требуется специфический формат данных, поэтому любые отклонения от указанных требований могут привести к непредсказуемым результатам.
Чтобы убедиться, что все файлы журналов имеют корректный формат, следует удалить или заархивировать все существующие файлы журналов, которые были сгенерированы сервером IIS ранее. Если в данный момент сервер IIS работает, то удалить текущий файл журнала будет невозможно, поскольку он в настоящее время используется. В этом случае следует просто остановить на данной системе службу World Wide Web Publishing, удалить соответствующий файл, после чего вновь запустить службу.
Шаг 2. Установка ActivePerl и AWStats
Для того чтобы можно было задействовать AWStats, необходимо установить на данный компьютер пакет Active Perl от ActiveState и сам пакет AWStats. Active Perl можно загрузить с сайта ActiveState по адресу: http://www.activestate.com/ products/activeperl. На момент написания статьи существует две версии данного продукта, ActivePerl 5.8.6 и ActivePerl 5.6.1. На мой взгляд, версия ActivePerl 5.6.1 прекрасно работает с пакетом AWStats и обеспечивает наилучшую совместимость с некоторыми другими программными средствами на языке Perl, представленными в сообществе open source. Поэтому, если планируется использовать в работе какие-либо еще Perl-приложения с открытым кодом, я рекомендовал бы установить ActivePerl версии 5.6.1. Однако для тех, кто предпочитает иметь последние версии, отмечу, что AWStats будет работать и с ActivePerl 5.8.3.
Для того чтобы установить ActivePerl, потребуется Windows Installer. Процесс установки ActivePerl несложен, единственное, что можно выбрать, — это путь к каталогу установки. Я рекомендую устанавливать ActivePerl в тот же каталог, в который по умолчанию устанавливается пакет AWStats, а именно в каталог C:Program FilesAWStats.
После установки ActivePerl нужно загрузить основной дистрибутивный комплект AWStats с сайта проекта SourceForge.net (адрес: http://wstats.sourceforge.net). В данном комплекте имеется исполняемый файл, управляющий процессом установки, поэтому процедура загрузки достаточно проста. После того как вы загрузили дистрибутив AWStats, нужно просто запустить файл с расширением «.exe» и согласиться с предлагаемым по умолчанию каталогом установки. По завершении установки приложение будет находиться в каталоге C:Program FilesAWStats.
Шаг 3. Настройка AWStats
В процессе установки AWStats запускает собственную программу настройки, которая представляет собой Perl-приложение, запускаемое в окне командной строки. В первую очередь, как показано на экране 1, программа настройки попросит указать путь к файлу конфигурации Web-сервера. Это связано с тем, что данная программа допускает использование Web-сервера, который хранит свои параметры в текстовом файле (например, сервер Apache). Но поскольку в данном случае используется сервер IIS, который подобным образом не настраивается, в этом окне следует ввести none.
Экран 1. Первое окно программы настройки AWStats |
После попытки настроить Web-сервер данная программа поэтапно проведет пользователя через процедуру построения основного шаблона для Web-сайта. В первую очередь, как показано на экране 2, будет задан вопрос, хотите ли вы создать новый файл конфигурации для AWStats. Следует ответить Yes. Затем программа попросит указать имя того Web-сайта, который предстоит анализировать. В данном примере я выбрал в качестве имени Web-сайта www.toombspartners.com доменное имя Web-сайта вымышленной организации Toombs Partners. Программа использует это имя в качестве имени соответствующего файла конфигурации, поэтому в данном случае файл конфигурации будет называться awstats.www.toombspartners.com.conf.
Экран 2. Именование файла конфигурации AWStats |
На завершающей стадии программа настройки сообщит, что она не сможет автоматически создать задачи, выполняемые по расписанию (scheduled tasks), поскольку пакет AWStats установлен на сервер с операционной системой Windows. Этими вопросами мы займемся, когда будем выполнять шаг 7, поэтому сейчас нужно просто согласиться с данным сообщением, после чего программа настройки завершит свою работу. Параметры конфигурации, сформированные в этом процессе, сохраняются в соответствующем файле конфигурации: C:Program filesAWStatswwwrootcgi-binawstats.www.toombspartners.com.conf.
Теперь требуется выполнить несколько дополнительных настроек, поэтому следует открыть файл конфигурации с помощью Notepad или другого текстового редактора. Первый параметр, который следует изменить, — это путь к файлам журналов. AWStats по умолчанию использует путь /var/log/httpd/mylog.log, ориентированный на UNIX-системы, поэтому в качестве разделителя здесь применяется символ прямого (/), а не обратного () слэша. Найдите в файле конфигурации параметр LogFile, который выглядит следующим образом:
LogFile=»/var/log/httpd/mylog.log»
Замените значение «/var/log/httpd/mylog.log» на описание пути по умолчанию к файлам журналов вашей системы. Если IIS устанавливался с параметрами по умолчанию, тогда здесь нужно указать «C:/WINNT/System32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log». Этот параметр предписывает программе AWStats выполнять в каталоге C:WINNTSystem32
LogFilesW3SVC1 поиск файлов, имена которых начинаются с ex, заканчиваются на .log, а в середине имеют две цифры, обозначающие год, две цифры, обозначающие месяц, и две цифры, обозначающие день. Это соответствует принятому по умолчанию соглашению для имен файлов журналов IIS. Если вы используете какое-либо другое соглашение об именах либо если файлы журналов хранятся в каталоге с именем, отличным от W3SVC1, то в этом случае нужно соответствующим образом изменить и параметр LogFile.
Затем следует изменить значение параметра LogFormat, который определяет для AWStats тип журнала регистрации событий. По умолчанию здесь устанавливается значение 1, но для Web-сайта, построенного на базе IIS, правильным значением будет 2.
Кроме того, необходимо отредактировать параметры SiteDomain и HostAliases, с помощью которых, соответственно, определяется, каким образом надлежит ссылаться на данный сайт извне и каковы внутренние ссылки для этого Web-сайта. В качестве параметра SiteDomain нужно указать основное доменное имя своего сервера или основное имя сайта в корпоративной сети. Параметр HostAliases следует отредактировать таким образом, чтобы он содержал другие допустимые доменные имена, адреса или имена виртуальных хостов, которые могут использоваться в качестве внутренних ссылок на данный сайт.
Необходимо сохранить файл конфигурации и выйти из текстового редактора, после чего можно будет запускать программу AWStats.
Шаг 4. Запуск AWStats
Итак, предположим, что все предыдущие шаги были выполнены верно и теперь можно предпринять первый пробный запуск AWStats. Однако, прежде чем это сделать, следует понять, как работает данная программа.
При работе с пакетом AWstats мы используем два основных его компонента, а именно программу анализа и программу построения отчетов. Вся математическая обработка числовых данных выполняется программой анализа, задачей же программы построения отчетов является преобразование результатов анализа к виду интуитивно понятных отчетов в формате HTML.
AWStats в полном объеме обрабатывает информацию по зарегистрированным событиям, поступающую от многих Web-сайтов, а результаты статистического анализа данной информации заносит в файл своей внутренней базы данных. Соответственно, когда мы снова запускаем программу AWStats, ей не требуется повторно анализировать ранее обработанные данные. Представьте себе, сколько времени на обработку данных потребовалось бы AWStats, если бы при запуске данной программы в декабре ей нужно было каждый раз повторно с самого начала обрабатывать файлы журналов за 11 месяцев.
Для того чтобы создать базу данных AWStats и импортировать в нее файлы журналов IIS, следует перейти в каталог C:ProgramFilesAWStatswwwrootcgi-bin и выполнить команду:
awstats.pl -config=WebSiteName
-update -logfile=IISLogName
где WebSiteName соответствует имени вашего Web-сайта, а IISLogName — имя того файла журнала IIS, который нужно импортировать в базу данных для последующего анализа. Здесь данная команда состоит из нескольких строк, на самом же деле она должна вводиться одной строкой. Это относится и к другим командам из нескольких строк, которые будут встречаться в данной статье.
Допустим, нам нужно выполнить анализ файлов журналов сервера IIS на Web-сайте компании Toombs Partners начиная с июня. Сегодня 4 июня, соответственно мы имеем три завершенных файла журнала (за 1, 2 и 3 июня) и один незавершенный (журнал за 4 июня). Чтобы выполнить импорт файла от 1 июня, используем команду:
awstats.pl
-config=www.toombspartners.com
-update
-logfile=»C:/WINNT/system32/
logfiles/w3svc1/ex050601.log»
Затем аналогичным образом обрабатываем файлы ex050602.log и ex050603.log.
Имя Web-сайта используется программой AWStats в имени файла базы данных. Например, для компании Toombs Partners имя соответствующего файла базы данных будет выглядеть как awstats%MM%YYYY.
www.toombspartners.com.txt, где %MM соответствует двузначному обозначению месяца, а %YYYY представляет собой четырехзначное обозначение года.
Когда программа анализа начинает обрабатывать файлы журналов, в ее окне будет отображаться некоторая статистика по обрабатываемым данным. По окончании обработки можно будет увидеть статистические данные, в которых будет указано количество найденных программой новых записей (см. экран 3). Это количество должно примерно соответствовать количеству строк в обрабатываемых файлах журналов. Не беда, если несколько строк было пропущено вследствие ошибок. Если ошибок немного, можно приступать к составлению отчета. Если же после обработки было обнаружено 0 новых записей, значит, возникла проблема с файлом конфигурации и необходимо выяснить, в чем она заключается.
Экран 3. AWStats выдает количество найденных записей |
Шаг 5. Создание Web-сервера для работы с AWS
Для того чтобы упростить просмотр отчетов по Web-сайту компании, можно построить внутри IIS еще один Web-сайт и назначить для него тот каталог, в котором будут сохраняться выходные данные AWStats. Для создания нового каталога для отчетов AWStats сначала нужно создать в каталоге Inetpub папку с именем AWStats (т.е. C:InetpubAWStats). Затем следует скопировать папку icon из каталога C:Program FilesAWStatswwwroot в каталог C:InetpubAWStats. После этого требуется создать в IIS новый Web-сайт и настроить его на работу с данным каталогом, как показано на экране 4. Если на данном сервере уже имеется сайт, работающий через порт 80, нужно создать для нового Web-сайта уникальный порт TCP, IP-адрес или новый заголовок хоста.
Экран 4. Создание сайта IIS для отчетов AWStats |
Для работы программы построения отчетов AWStats создает специальную Web-страницу с именем по умолчанию awstats.WebSiteName.
html, где WebSiteName соответствует тому имени Web-сайта, которое было определено нами при выполнении шага 3. Имя этой страницы должно быть задано в качестве имени домашней страницы по умолчанию, что делается через закладку Documents диалогового окна AWStats Site Properties.
И наконец, если нужно ввести какие-либо параметры ограничения доступа для сайта статистики, это делается через закладку Directory Security того же диалогового окна AWStats Site Properties. Можно, например, ограничить доступ пользователей к сайту на основе IP-адресов либо задать необходимость аутентификации при доступе к сайту. При отсутствии ограничений по безопасности любой желающий, подключившись к данному сайту, сможет просматривать его содержимое.
Шаг 6. Формирование отчетов
После того как на IIS был создан Web-сайт, настало время поупражняться в построении отчетов. Необходимо перейти в каталог C:Program FilesAWStats ools и выполнить следующую команду:
awstats_ buildstaticpages.pl -config=WebSiteName -update -lang=en -dir=»C:Inetpubawstats» -awstatsprog= «C:/Program Files/ AWStats/wwwroot/ cgi bin/awstats.pl»
где WebSiteName — имя вашего Web-сайта (поскольку в данном примере рассматривается компания Toombs Partners, то, соответственно, имя сайта будет www.toombspartners.com). Компонент, формирующий отчеты (awstats_buildstaticpages.pl), создает главную страницу отчета по статистике для данного Web-сайта и помещает ее в каталог, определяемый ключом -dir.
Если все компоненты системы функционируют правильно, программа AWStats будет последовательно, один за другим, создавать отчеты, пока не будет достигнут конец цикла обработки. После того как данный цикл будет завершен, можно запустить Web-браузер и просмотреть содержимое вновь созданного Web-сайта AWStats. Главная страница отчета AWStats должна быть в этом случае вашей страницей по умолчанию. Пример фрагмента главной страницы статистики показан на экране 5.
Экран 5. Основная страница отчета AWStats |
Эта страница содержит данные по статистике высокого уровня, а также ссылки на страницы с более подробной информацией. Например, если щелкнуть по приведенной на экране 5 ссылке Countries, которая находится в разделе Who, можно перейти к таблице Countries (Top 10), находящейся на уровень ниже от основной страницы. Щелкнув ссылку Full list в строке заголовка данной таблицы, можно просмотреть список стран, из которых посетители обращались к вашему сайту. До данного списка можно добраться и другим способом: щелкнуть ссылку Full list, которая следует за ссылкой Countries в разделе Who.
Так, а почему в отчете нет статистики по странам? Не стоит беспокоиться, AWStats по умолчанию ведет себя подобным образом, поэтому давайте посмотрим, как мы можем это исправить.
Чтобы установить, из какой страны обращается к сайту посетитель, применяется поиск по IP-адресу посетителя с целью выяснения полного доменного имени FQDN (Fully Qualified Domain Name), связанного с этим адресом. Если такое имя обнаруживается, то обычно оно оканчивается на что-то вроде com, .ca или .jp. По этому расширению программа AWStats определяет, из какой страны обращается данный посетитель.
В конфигурации, установленной по умолчанию, AWStats не выполняет обратный поиск в пространстве DNS, поскольку обработка соответствующего поискового запроса по каждому IP-адресу клиента, который обращается к данному сайту, потребует значительных временных затрат. Программа AWStats очень эффективно выполняет свои внутренние процедуры обработки данных, но в данном случае она должна отправлять запросы на внешний сервер DNS и ожидать ответа, что приводит к снижению скорости обработки. Рассмотрим пример. Те три тестовых файла журнала, которые я использовал при написании статьи, содержат около 350 тыс. адресов. Если обратный поиск в DNS не выполняется, то обработка всех этих данных программой AWStats занимает несколько минут. Если же включить обратный поиск, то процесс займет более 6 часов. Поэтому выполнение обратного поиска может кардинально повлиять на производительность системы.
Тем не менее, если все-таки требуется, чтобы AWStats выполняла обратный поиск в пространстве DNS, нужно найти в файле конфигурации сайта параметр DNSLookup и изменить его значение с 2 на 1. После этого программа AWStats будет выполнять обратный поиск по каждому IP-адресу в каждом вновь сформированном файле журнала при его анализе. Другими словами, для всех существующих файлов журналов необходимо будет повторно выполнить процедуру анализа. Для этого требуется удалить существующий файл базы данных AWStats, после чего вновь запустить процедуру анализа. При этом AWStats будет посылать запрос обратного поиска по каждой записи, но нужно быть готовым к тому, что это займет много времени. По завершении данной процедуры следует создать отчеты повторно, и в них появятся данные по странам для обращавшихся на сайт посетителей.
Шаг 7. Настройка AWStats для работы по расписанию
Вполне вероятно, что может возникнуть потребность запускать процедуру обработки файлов журналов в ночное время, причем так, чтобы процедуры анализа и формирования отчетов запускались без участия человека. Для этих целей можно задействовать командный файл NightRun.bat, показанный в листинге. Данный файл вызывает процедуру анализа файлов журналов IIS, а по ее завершении вызывается программа построения отчетов, которая создает и размещает их для дальнейшей обработки программой AWStats в каталоге IIS.
Для того чтобы использовать файл NightRun.bat, загрузите его с сайта Windows IT Pro /RE по адресу http://www.windowsitpro.ru в разделе download. Затем нужно открыть разархивированный файл с помощью Notepad или в другом текстовом редакторе и заменить в нем имя www.toombspartners.com на имя своего Web-сайта. После этого следует запустить приложение Scheduled Tasks из Control Panel и создать для данного файла задание — запускать его каждую ночь в какое-либо время после полуночи. Почему после полуночи? Дело в том, что на шаге 4 я использовал ключ командной строки-logfile, с помощью которого задавалось имя соответствующего файла журнала. Если данный ключ отсутствует, как в файле NightRun.bat, AWStats автоматически выберет в качестве даты предыдущий день и будет использовать любой групповой символ (wildcard), который описывается параметром Logfile= файла конфигурации. Поэтому, если данный командный файл будет запускаться после полуночи 4 июня, AWStats будет выполнять анализ файлов журналов за 3 июня, поскольку будет использоваться групповой символ формата даты, определяемый значением параметра LogFile.
Один щелчок — и Web-отчет готов
Как удобно каждое утро получать свежие статистические данные по Web-сайту! Даже для тех, кто не отвечает непосредственно за наполнение Web-сайта компании, подобная статистика все равно может оказаться полезной, например в том случае, если сотрудник занимается продажами продукции компании через Web-сайт. Информация, предоставляемая этими отчетами, может помочь выяснить, что именно ищут люди, когда заходят на ваш Web-сайт, и, на мой взгляд, современной службе работы с клиентами стоит владеть такой информацией.
Редактор журнала Windows IT Pro. help@toombs.us