Главная > FAQ, В помощь sysadmin'y > AWStats анализатор логов для статистики

AWStats анализатор логов для статистики

AWStats — один из лучших бесплатных анализаторов логов, позволяет в удобном графическом виде просматривать логи web, ftp, mail.
Ставим сам пакет:
$ aptitude install awstats
The following NEW packages will be installed:
awstats libnet-xwhois-perl{a}
0 packages upgraded, 2 newly installed, 0 to remove and 123 not upgraded.
Need to get 1,012 kB of archives. After unpacking 5,394 kB will be used.
Do you want to continue? [Y/n/?]

После его установке, предлагаю установить пакет libgeo-ipfree-perl, лучше это сделать, не помешает, тем более я собираюсь подключить плагин geoipfree.
И так приступаем непосредственно настройке.
Предположим, что вы хотите проанализировать log-файлы Apache2 для нашего веб-сайта «xxx.com» (так же это может быть и IP-адрес).Создаем новый файл конфигурации:
$ cp /etc/awstats/awstats.conf /etc/awstats/awstats.xxx.conf

В конфиге изменяем следующие параметры:

# путь до access.log вашего вирт. хоста
LogFile=»/var/log/apache2/access.log»
# для подробной статистики
LogFormat=1
# имя вашего домена(витр.хоста)
SiteDomain=»xxx.com»
# псевдонимы сайта по которым можно к нему обратиться
HostAliases=»localhost 127.0.0.1 xxx.com»
# директория, где будет храниться статистика.
DirData=»/var/lib/awstats»
# активизируем плагины
LoadPlugin=»tooltips»
LoadPlugin=»geoipfree»
# для получения нормальных русских букв
LoadPlugin=»decodeutfkeys»

На этом пока все, теперь проверяем и проанализируем существующие логи, для нашего сайта xxx.com,запуск от root или sudo:
$ /usr/lib/cgi-bin/awstats.pl -config=xxx -update

Create/Update database for config «/etc/awstats/awstats.xxx.conf» by AWStats version 6.95 (build 1.943)
From data in log file «/var/www/msite/logs/access.log.1299888000″…
Phase 1 : First bypass old records, searching new record…
Direct access to last remembered record is out of file.
So searching it from beginning of log file…
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)…
Jumped lines in file: 0
Parsed lines in file: 9479
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 9479 new qualified records.

Теперь учим Apache отображать статистику. Как говориться «котлеты отдельно, мухи отдельно» и что б все не смешивать все в кучу, сделаем отдельный конфиг для Apache2. По умолчанию Apache2 в своём основном конфигурационном файле содержит включение файлов из /etc/apache2/conf.d/, и там создадим файл с параметрами для awstats:
$ touch /etc/apache2/conf.d/statistics

Alias /awstatsclasses «/usr/share/awstats/lib/»
Alias /awstats-icon/ «/usr/share/awstats/icon/»
Alias /awstatscss «/usr/share/doc/awstats/examples/css»
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /statistics/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Перезапустим Apache:
$ /etc/init.d/apache2 restart
Теперь запускаем браузер и вводим:
http://xxx.com/statistics/awstats.pl?config=xxx
И получаем следующие, со своими параметрами:

p.s может возникнуть ошибка «403″, то смотрим на права каталогов/подкаталогов awstats и каталога указанного в переменной DirData.
Так же в целях обеспечения безопасности советую ограничить доступ к статистике awstats,
есть несколько вариантов для авторизированных пользователей(если честно сильно ни заморачивался) или по ip адресам.
Для пользователей в конфиге awstats.xxx.conf (тут уже разбираемся сами):

AllowAccessFromWebToAuthenticatedUsersOnly = 1
AllowAccessFromWebToFollowingAuthenticatedUsers = «user1 user2″

По ip адресу:

AllowAccessFromWebToFollowingIPAddresses=»127.0.0.1 123.123.123.100″

где 123.123.123.100 — ваш ip адрес
или подмножеству адресов (можно открыть для всей своей сети)

AllowAccessFromWebToFollowingIPAddresses=»127.0.0.1 123.123.123.1-123.123.123.255″

где 123.422.222.33-123.422.222.100 — разрешенный диапазон ip адресов.
Теперь нам надо научить awstats генерировать отчёты регулярно и автоматически, и для этого
есть несколько способов обновления статистики, первый это — в конфиге /etc/awstats/awstats.xxx.conf
включаем параметр AllowToUpdateStatsFromBrowser

AllowToUpdateStatsFromBrowser=1

и у нас в вебраузере появляеться кнопка/ссылка «Обновить сейчас».
или второй вариант — добавляем скрипт в планировщик cron.
Правим crontab:
$ crontab -e

# будет запускаться каждое воскресенье в 23 часа.
0 23 * * 7 /usr/lib/cgi-bin/awstats.pl -config=xxx.com -update >/dev/null

Читаем еще:

  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.
Необходимо войти на сайт, чтобы написать комментарий.
#

//