AWStats – анализируем логи серверов

AWStatsКаждый системный администратор должен время от времени просматривать логи серверов. Чтобы сделать эту работу более приятной и удобной можно использовать программу AWStats. AWStats позволяет в удобном графическом виде просматривать логи web, ftp, mail и потоковых видео серверов. На самом деле, awstats можно обучить разбирать логи любых серверов, только надо грамотно написать правила конфигурации awstats. В этой статье будут приведены примеры конфигов для снятия статистики с логов web и ftp серверов.

Установка AWStats

Для корректной работы AWSats потребуется http сервер с поддержкой выполнения скриптов. Я рекомендую использовать сервер apache, т.к. сами разработчики AWStats в документации по настройке приводят изменения конфигов данного http сервера. Так что первой задачей для нас и будет научить AWStats разбирать логи apache сервера.

Обновите ваши репозитории до последних версий, чтобы программа AWStats была наиболее свежей. На сегодняшний день самой свежей стабильной версией является 6.95. Не знаю как сейчас, а лет 5 назад в проекте AWStats находили серьезные критические уязвимости в плане безопасности.
После установки программы желательно ограничить доступ для просмотра статистики.
Для ubuntu установка сводится к простому


sudo aptitude install awstats

Для установки программы из исходников, скачиваем программу с сайта AWStats и распаковываем архив в какую-нибудь папку ОС. Я рекомендую распаковать в /usr/local/awstats.
После распаковки выдаем права владельцу/группе, например в linux root/root


#chown -R root:root /usr/local/awstats

Настройка конфигов хостов AWStats

Настройка конфига для web сервера apache

  • Проверяем наличие каталога /etc/awstats, если его нет то создаем его
  • Копируем заготовку /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf в каталог /etc/awstats и переименовываем файл awstats.model.conf в awstats.youdomain.conf. Для данного сайта файл будет называться awstats.ruunix.ru.conf.
  • Меняем следующие строки в конфиге

#путь к лог файлу apache
LogFile=" /usr/local/apache/logs/access_log"
#имя домена
SiteDomain="youdomain.com"
#псевдонимы сайта по которым можно к нему обратиться
HostAliases="www.youdomain.com localhost 127.0.0.1"
#директория, где будет храниться статистика.
DirData="/var/lib/awstats/web"
#каталог для иконок файлов статистики
DirIcons="/awstatsicons"
#следующая переменная для обновлении статистики через web интерфейс
AllowToUpdateStatsFromBrowser=1

Остальные переменные оставляете на свое усмотрение..

После редактирования от root или sudo запускаем сбор статистики, например для конфига моего сайта


perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=ruunix.ru -update

В результате должны получить примерно следующее показать


В каталоге, который вы указали в переменной DirData появятся файлы статистики по месяцам.

Настало время просматривать статистики через web интерфейс, но сначала потребуется внести изменения в httpd.conf apache сервера. Дописываем в конец httpd.conf строки


#begin awstats
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"

<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
#end awstats

После изменений обязательно перезапускаем сервер apache и теперь можно в браузере набрать http://имя_сервера/awstats/awstats.pl?config=youdomain
Если по каким-то причинам появляется ошибка "403", то внимательно смотрим на права каталогов/подкаталогов awstats и каталога статистики в переменной DirData.

Статистика AWStats web сервера

Чтобы обновлять статистику из web интерфейса требуется выставить владельца на папку DirData от кого запускается сервер http.
Для сбора ежедневной статистики занесите команду с crontab одной строкой


55 23 * * * /usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl
-config=ruunix.ru -update 1> /dev/null 2>&1

Настройка конфига для ftp сервера proftpd

Сбор статистики с FTP серверов будет немного посложнее. Лог файл статистики должен быть в строго определенном формате. Для сервера proftpd в конфиге должны быть следующие строки


 # Между знаками "%" должна быть табуляция, а не пробелы!
LogFormat awstats "%t %h %u %m %f %s %b"
ExtendedLog /var/log/xferlog read,write awstats

Если вы изначально настраивали сервер proftpd по статье Настраиваем FTP сервер Proftpd, то менять ничего не надо.
Файл конфига в /etc/awstats для сбора статистики с proftpd должен выглядеть примерно так - скачать.
Изменяем название конфига и перемещаем его в /etc/awstats. В конфиге измените переменные по принципу как в конфиге web статистики


LogFile=
SiteDomain=
HostAliases=
DirData=
DirIcons="/awstatsicons"
AllowToUpdateStatsFromBrowser=1

Делаем ручной прогон статистики командой, подставив имя своего конфига


perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=ftpdomain.com -update

Можно заходить в статистику через браузер http://имя_сервера/awstats/awstats.pl?config=ftpdomain.com

Статистика AWStats FTP сервера

Проблемы и вопросы при установке AWStats

Если у вас что-то не получается сделать по данной статье внимательно прочитайте этапы установке на странице разработчиков
А для всех остальных вопросов есть FAQ.

Статья просмотрена 22 361 раз
Запись опубликована в рубрике Monitoring, Программы, Сервера, Считаем трафик с метками , , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>