Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #43, ИЮНЬ 2004 г.

Тотальный просчет

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #043, стр. 043-068-1


(forb@real.xakep.ru)

Сбор статистики с электронного проекта

После создания и успешной раскрутки интернет-проекта у любого человека возникает нездоровое любопытство. Хозяину, то есть тебе, становится интересно – кто, на каком основании, с какого хоста посетил сайт, и самое главное, сколько драгоценных байт он с собой унес. Эта инфа более чем доступна – главное вовремя подсуетиться и создать все необходимые условия для сбора.

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

Анализируем логи

Скорее всего, твой сайт будет вертеться на машине UNIX с Web-сервером Apache. Многие хостинги предоставляют клиенту доступ к файлу access.log. Это лог обращений к сайту. Со временем его размер резко возрастает, и изучение этого журнала становится страшно утомительным делом. Однако именно в этом файле ты можешь найти сетевой адрес посетителя, версию его браузера, время посещения и другую полезную информацию. С помощью специального софта становится возможным предоставить администратору сайта полноценную статистику по пользователям, хостам, операционным системам и многим другим критериям. В общем – то что доктор прописал.

Чтобы поставить подобную программу на твой сервер, достаточно иметь права nobody, FTP-акцесс к твоему Web-каталогу и доступ к access.log-файлу. Плюс к этому у тебя должны быть права на запуск перловых скриптов. Но думаю, если ты подобрал приличный коммерческий хостинг, проблем не возникнет.

На мой взгляд, самой лучшей программой для анализа access.log’а является софтина Awstats. Во-первых, это довольно продвинутый перловый скрипт, запускающийся на любых платформах. Во-вторых, тебе не нужно платить ни копейки за его использование. И наконец, за долгие годы программа доказала свою безглючною работу. Все эти прелести вынудили меня остановиться на этом скрипте подробнее.

Awstats устанавливается очень просто. Для правильной работы достаточно настроить всего один conf-файл. Итак, сливай awstats по адресу http://freshmeat.net/redir/awstats/17088/url_tgz/awstats-6.0.tgz. Затем распаковывай в отдельный каталог. Пока не спеши раскидывать все папки по отдельным www-директориям. В архиве тебя интересует всего один конфиг - awstats.model.conf. Открывай его любым подручным редактором и настраивай Awstats под себя. Перво-наперво изменяй директиву LogFile. Именно эта опция указывает на местоположение журнала access.log для твоего сайта. Если же у тебя несколько хостов, и все они ведут журналирование в один файл – настрой httpd.conf таким образом, чтобы лог для каждого хоста велся в отдельном документе. В противном случае ты получишь суммарную статистику сразу по двум Web-проектам. Что, я думаю, в твои планы не входит :).

LogFile установлен на правильную позицию? Замечательно! Далее ты встретишь не менее важную директиву LogFormat. Обычно в Апачке логи ведутся в первом формате (%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot), поэтому оставляй дефолтовое значение. Второй формат пригоден для IIS. Если ты извращенец и юзаешь виндовый хостинг – измени формат на двойку. Следующие опции оставляй как есть: LogSeparator и DirData, как правило, не стоит менять. Если, конечно, ты не собираешься переносить скрипты системы в разные каталоги. А вот DirCgi и DirIcons измени. К примеру, если ты положил свои скрипты в папку «/home/vasya/www/cgi-bin/», то значение директивы можно оставить в виде «/cgi-bin».

Содержание  Вперед на стр. 043-068-2