Фев 23 2010

Awstats. Статистика вебсерверов.

Awstat – программа для построения статистики по логам. Чаще всего он используется для анализа логов Apache и nginx. Написан он на perl, а по предоставляемой информации, является одним из самых лучших.
Поставим его из портов:

cd /usr/ports/www/awstats/
make install clean


В небольшом диалоговом окне настройки сборки, появится запрос на активацию IPv6, и в 99% активировать его не надо.

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

mkdir /usr/local/etc/awstats/

Теперь скопируем шаблон конфига:

cp /usr/local/www/awstats/cgi-bin/awstats.model.conf /usr/local/etc/awstats/awstats.hilik.org.ua.conf

И теперь исправим конфиг под наш домен. Для этого:
Находим строку:

LogFile="/var/log/httpd/mylog.log"

И правим на путь к вашему лог файлу. Удобней всего работать после того, как логфайл отротейтится и статистику строить по окончании дня. Поэтому если у вас лог файл сразу ужимается с помощью gz, то нужно указать так:

LogFile="gzip -d /var/log/nginx/hilik_access.log.gz|"

В случае если у вас первый отротейтченный файл не сжимается, рекомендую, кстати работать именно так, то все проще:

LogFile="/var/log/nginx/hilik_access.log.1"

Строка определяющая с каким типом лога мы работаем, для вебсервера указываем:

LogType=W

Следующая строка:

LogFormat=1

Она говорит awstats, что лог файл у нас в формате Apache combined и совпадает с nginx main форматом.

Далее:

LogSeparator=" "

Указывает, что информация в логфайле разделена пробелами.
Как вы видите, править особо нечего.
Но это пока, следующая строка, уже требует внесения изменений:

SiteDomain="hilik.org.ua"

Внесите сюда основное имя вашего вебсайта. И в НostAliases, добавьте все имена, под которыми могут еще попадать на ваш сайт.

HostAliases="localhost 127.0.0.1 www.hilik.org.ua"

Следующая настройка:

DNSLookup=2

Она указывает awstatу делать преобразование адресов в имена используя кеш файл. Это делает работу awstats пошустрей, один раз обратившись к DNS, он запишет в файл преобразование и будет в дальнейшем реже обращаться к DNS серверу.
В следующей строке мы указываем в каком каталоге у нас будут находится результаты работы awstats, точнее промежуточные результаты, база посещений и тп. То на основе чего awstats сгенерирует в дальнейшем отображаемую статистику.
Я как правило размещаю ее там же, где и саму статистику.

DirData="/usr/local/www/hilik.org.ua/awstats"

Параметр DirCgi я не меняю и не использую, поскольку всегда пользуюсь генерацией статических страниц.

А вот DirIcons я изменяю таким образом:

DirIcons="http://www.hilik.org.ua/awstatsicons/"

На этом фактически работа с файлом настройки завершена.
Теперь нужно сделать так, что бы awstatsicons был доступен.
Сделать это можно двумя способами. Первый простейший, поставить симлинку или просто скопировать в директорию вебсайта директорию с иконками awstats. Или решить этот вопрос с помощью Alias Apache или alias nginx.
Для Apache настройки Alias появляются в post install message при установке порта awstats.
Выглядят они так:

Alias /awstatsclasses "/usr/local/www/awstats/classes/"
Alias /awstatscss "/usr/local/www/awstats/css/"
Alias /awstatsicons "/usr/local/www/awstats/icons/"

Для nginx они же будут выглядеть так:

location /awstatsclasses/ {
       alias /usr/local/www/awstats/classes/;
 }
location /awstats-icon/ {
       alias /usr/local/www/awstats/icons/;
 }
location  /awstatscss/ {
        alias /usr/local/www/awstats/css/;
 }

Эти строки нужно разместить в настройках виртуального хоста, того, для которого мы строим статистику.
Теперь нужно указать что индексом директории со статистикой будет совсем не index.html или index.php, а awstats.hilik.org.ua.html, именно под таким именем будет генерировать статистику awstats.
Для Apache:

<Directory /usr/local/www/hilik.org.ua/awstats>
        DirectoryIndex awstats.hilik.org.ua.html
    </Directory>

Для nginx:

 location /awstats/ {
                root /usr/local/www/hilik.org.ua/;
                index awstats.hilik.org.ua.html;
        }

Теперь остается сделать скрипт который будет генерировать статистику.
Выглядит он так:

#!/bin/sh
/usr/local/www/awstats/tools/awstats_buildstaticpages.pl -lang=ru -config=hilik.org.ua -dir=/usr/local/www/hilik.org.ua/awstats -update

И поставить на cron.

15      0       *       *       *       /root/bin/stats.sh

На этом настройка завершена.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Украинская Баннерная Сеть