Каждый системный администратор должен время от времени просматривать логи серверов. Чтобы сделать эту работу более приятной и удобной можно использовать программу 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.
Чтобы обновлять статистику из 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
Если у вас что-то не получается сделать по данной статье внимательно прочитайте этапы установке на странице разработчиков
А для всех остальных вопросов есть FAQ.