понедельник, 15 августа 2011 г.

Установка lightsquid для просмотра статистики squid.

Понадобилось мониторить squid, но времени на настройку толкового билинга небыло...
Вот и наткнулся на lightsquid.

Ставим apache2 и libgd-gd2-perl (нужен для графиков):
$ sudo apt-get install apache2 perl libgd-gd2-perl

Создаём каталог, где у нас, непосредственно, и будет крутиться lightsquid

# mkdir /var/www/lightsquid

Качаем последнюю версию lightsquid:

# wget http://downloads.sourceforge.net/project/lightsquid/lightsquid/1.8/lightsquid-1.8.tgz

# tar -zxf lightsquid-1.8.tgz /var/www/lightsquid

Выставляем рекурсивно права 755 пользователю и группе www-data на каталог и его содержимое:

# chmod -R 755 /var/www/lightsquid
# chown -R www-data:www-data /var/www/lightsquid

Делаем скрипты программы исполняемыми:

# chmod +x *.cgi
# chmod +x *.pl

С установкой всё. Теперь приступим к настройке lightsquid:

Начнём с Apache. Для того, чтобы Apache правильно обрабатывал .cgi-скрипты отредактируем файл httpd.conf и приведём его к следующему виду:

# mcedit /etc/apache2/httpd.conf

Alias /lightsquid /var/www/lightsquid

AddHandler cgi-script .cgi
AllowOverride All


Перезапускаем Apache:

# /etc/init.d/apache2 restart

Правим конфиг lightsquid:

# mcedit /var/www/lightsquid/lightsquid.cfg

Правим пути в секции GLOBAL VARIABLES

#path to additional `cfg` files
$cfgpath ="/var/www/lightsquid";
#path to `tpl` folder
$tplpath ="/var/www/lightsquid/tpl";
#path to `lang` folder
$langpath ="/var/www/lightsquid/lang";
#path to `report` folder
$reportpath ="/var/www/lightsquid/report";
#path to access.log
$logpath ="/var/log/squid";
#path to `ip2name` folder
$ip2namepath ="/var/www/lightsquid/ip2name";

Если установлен squid3 то в переменной $logpath = "/var/log/squid3" соответственно.
В секции WEB VARIABLES выставляем нужный язык интерфейса. В данном случае русский.

$lang ="ru";

Закрываем и сохраняем конфиг. Теперь с помощью скрипта check-setup.pl можем проверить правильность сделанных настроек. Никаких ошибок быть не должно.

# ./check-setup.pl

Если необходимо прописываем соответствие реальных имен и ip в realname.cfg:

# mcedit /var/www/lightsquid/realname.cfg

192.168.135.2 Manager1
192.168.135.3 Manager2
192.168.135.4 BOSS
192.168.135.5 Admin

Теперь можно вручную сгенерировать отчеты и заодно проверить как работает lightsquid:

# ./lightparser.pl
# lightparser.pl access.log.1 {gz|bz2}
# lightparser.pl access.log.2 {gz|bz2}
# lightparser.pl access.log.3 {gz|bz2}

Открываем браузер и вводим в адресной строке:

http://ip_вашего_сервера/lightsqiud

Для автоматизации генерирования отчётов добавляем в cron задание:

# crontab -e

*/15 * * * * /var/www/lightsquid/lightparser.pl today

После перезапускаем cron:
# /etc/init.d/cron restart

Отчёты будут автоматом генерироваться ежечасно. Вместо 15 можно выставить какое угодно значение в минутах.

Для ограничения доступа к серверу статистики по логину и паролю сделаем следующее:

Допустим, нам нужно сделать логин lightsquid и пароль lightsquid. Приводим файл .htaccess к следующему виду:

Options FollowSymLinks ExecCGI
DirectoryIndex index.cgi

AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile /var/www/lightsquid/.htpasswd
require user lightsquid

Затем создаём файл .htpasswd

/usr/bin/htpasswd -c /var/www/lightsquid/.htpasswd

Добавляем пользователя

/usr/bin/htpasswd -n lighsquid

Дважды вводим пароль и полученный результат добавляем в файл .htpasswd

lightsquid:6XFZL3/Ytyfns

Комментариев нет: