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
На этом настройка завершена.



