Автор Тема: AWStats анализатор логов для статистики  (Прочитано 10121 раз)

Оффлайн ceval

  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 185
  • Карма: +7/-0
    • заметки о GNU/Linux Ubuntu/Debian
AWStats - один из лучших бесплатных анализаторов логов, позволяет в удобном графическом виде просматривать логи web, ftp, mail.
Ставим сам пакет:
$ aptitude install awstatsПосле его установке, предлагаю установить пакет 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

c уважением ceval (c) On-line журнал o Linux