AWStats

Материал из RSU WiKi
Перейти к: навигация, поиск

AWStats является генератором отчетов веб-аналитики с открытым исходным кодом, пригодным для анализа данных интернет-сервисов, таких как веб, потокового мультимедиа, почта и FTP серверов. AWStats проводит разбор и анализ log-файлов сервера, генерируя HTML отчеты. Данные визуально представлены в отчетах таблицами и гистограммами. Статические отчеты могут быть созданы через интерфейс командной строки, или через CGI-сценарии.

AWStats поддерживает большинство основных форматов Log-файлов веб-серверов, включая Apache (NCSA комбинированного / XLF / ELF log формат или обычный СLF log формат), WebStar, IIS (W3C log формат) и многих других распространенных log-форматов веб-серверов. Разработчики распространяют проект AWStats через SourceForge.net [1].

Содержание

Введение

Описывается установка и настройка пакета сбора статистики AWStats 7.0 для лог-файлов веб-сервера Apache/Nginx. Веб-сервер работает под управлением операционной системы SLES 10 SP2 в логическом разделе LPAR на сервере IBM System P (pSeries).

Установка

Скачиваем с сайта AWStats последнюю версию tar.gz в /usr/local/src и распаковываем ее в /usr/local/awstats-XX (где XX - номер версии ПО) и делаем символическую ссылку:

ln -s awstats-XX awstats

это поможет в дальнейшем безболезненно обновлять или откатывать версию AWStats.

Конфигурационные файлы кладем в /etc/awstats

Проверяем через CPAN, что в системе установлены все необходимые модули perl:

cpan> install URI::Escape
cpan> install Encode
cpan> install Net::XWhois
cpan> install Geo::IPfree

Cron

В директории /etc/cron.hourly (или daily, или weekly - в зависимости от необходимых сроков обновления статистики) создаем файл run-awstats.sh:

touch run-awstats.sh
chmod a+x run-awstats.sh

следующего содержания:

#!/bin/bash
/usr/local/awstats/tools/awstats_updateall.pl now

Nginx

Создаем в директории /etc/nginx/ файл inc-awstats.conf следующего содержания:

# AWStats static files location

location ^~ /awstatsclasess/ {
    alias /usr/local/awstats/wwwroot/classes/;
    expires     720h;
}

location ^~ /awstatscss/ {
    alias /usr/local/awstats/wwwroot/css/;
    expires     720h;
}

location ^~ /awstatsicons/ {
    alias /usr/local/awstats/wwwroot/icon/;
    expires     720h;
}

location ^~ /js/ {
    alias /usr/local/awstats/wwwroot/js/;
    expires     720h;
}

# Script location
location /awstats/ {
    proxy_pass         http://127.0.0.1:8080/awstats/;
    proxy_redirect     off;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    client_max_body_size       10m;
    client_body_buffer_size    128k;
    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;
    proxy_buffer_size          4k;
    proxy_buffers              4 32k;
    proxy_busy_buffers_size    64k;
    proxy_temp_file_write_size 64k;
}

В нашем случае backend с apache располагается по адресу 127.0.0.1 и на порту 8080

Подключаем указанный файл в интересующие нас виртуальные хосты, вставив строчку внутрь секции "server":

include  inc-awstats.conf;

Apache 2

Веб-сервер apache2 должен быть настроен на работу с perl

В файле /etc/apache2/default-server.conf в самый конец добавляем следующее:

#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
Alias /js "/usr/local/awstats/wwwroot/js/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"

#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Настройка

Конфигурация виртуальных хостов

При обращении к URL'у вида http://www.example.com/awstats/awstats.pl скрипт ищет конфигурационный файл хоста в виде

/etc/awstats/awstats.www.example.com.conf

Создадим конфигурационные файлы для необходимых нам хостов из шаблона и настроим по нашему усмотрению.

Укажем, какой лог-файл необходимо обрабатывать (в нашем случае все логи записываются фронтэндом Nginx)

LogFile="/var/log/nginx/www.example.com-access_log"

Прописываем хост сайта:

SiteDomain="www.example.com"

И все из его существующих алиасов:

HostAliases="www.example.com example.com 127.0.0.1 localhost"

Отключаем определение имен DNS. Хоть это и наглядно и интересно, данная опция уж очень сильно тормозит систему:

DNSLookup=2

Мы предоставляем доступ к awstats для всех желающих, поэтому не разрешаем из веб-интерфейса обновлять статистику:

AllowToUpdateStatsFromBrowser=0

Указываем, в каком формате генерировать статистику, мы используем xhtml по причине того, что поддерживать старые браузеры нет нужды:

BuildReportFormat=xhtml

Подключаем необходимые нам плагины:

LoadPlugin="decodeutfkeys"
LoadPlugin="hostinfo"
LoadPlugin="geoipfree"
LoadPlugin="graphgooglechartapi"

Дополнительная статистика

На интересующем нас сайте во всех html-странцах (или footer-шаблоне используемой CMS) помещаем перед закрывающим тегом </BODY> следующие строки:

<script type="text/javascript" src="/js/awstats_misc_tracker.js"></script>
<noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height=0 width=0 border=0 style="display: none"></noscript>

и включаем в конфигурационном файле виртуального хоста awstats параметры:

ShowScreenSizeStats=1
ShowMiscStats=ajdfrqwp

Полезные скрипты

Если необходимо поменять какой-либо из параметров AWStats во всех конфигурационных файлов виртуальных хостов удобно воспользоваться следующим скриптом:

#!/bin/sh
find ./ -type f -name "*.conf"| xargs perl -pi -w -e 's/BuildReportFormat=html/BuildReportFormat=xhtml/g;'

Работа

At work clipart.pngЭто незавершённая статья, требующая доработки.
Дать несколько скриншотов интерфейса со статистикой и описать пару-тройку реальных применений ее использования (выбор времени тех. обслуживания сервера, оптимизация под браузер, поисковые запросы и т.п.)


Пример работающей системы: http://wiki.rsu.edu.ru/awstats/awstats.pl

Заключение

At work clipart.pngЭто незавершённая статья, требующая доработки.
Вкратце, чего добились и почему стало легче, лучше, веселее.

Примечания

  1. AWStats. Материал из Википедии — свободной энциклопедии

См. также

Ссылки

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты