LightSquid - lite and fast log analizer for squid proxy
Текущая версия 1.8 Изменения
Домашняя страница автор Сергей Ерохин (Sergey Erokhin).
LightSquid маленькая и быстрая программка сбора статистики работы пользователей через прокси-сервер Squid, является альтернативой SARG, представляет собой набор из нескольких скриптов написанных на языке программирования perl.
Требования:
Apache
Perl
Perl-GD2 (если необходимы графики)
Squid
Cron
[more=Установка.]
Переходим во временный каталог.
# cd /tmp
Скачиваем LightSquid.
# wget -c http://citkit.dl.sourceforge.net/sourceforge/lightsquid/lightsquid-1.6-beta.tgz
Распаковываем архив.
# tar xzpf lightsquid-1.6-beta.tgz
Переходим в каталог с распакованными файлами и приступаем к редактированию необходимых файлов.
# cd lightsquid-1.6-beta
# sed -i 's|/var/www/html/lightsquid/lang|/usr/share/lightsquid/lang|g' lightsquid.cfg
# sed -i 's|/var/www/html/lightsquid/tpl|/usr/share/lightsquid/tpl|g' lightsquid.cfg
# sed -i 's|/var/www/html/lightsquid/ip2name|/usr/share/lightsquid/ip2name|g' lightsquid.cfg
# sed -i 's|/var/www/html/lightsquid/report|/var/lib/lightsquid|g' lightsquid.cfg
# sed -i 's|require "ip2name|require "$ip2namepath|g' lightparser.pl
# sed -i 's|lightsquid.cfg|/etc/lightsquid/lightsquid.cfg|g' bigfiles.cgi day_detail.cgi get.cgi graph.cgi group_detail.cgi index.cgi month_detail.cgi topsites.cgi user_detail.cgi user_month.cgi user_time.cgi whousesite.cgi check-setup.pl common.pl lightparser.pl
# sed -i 's|common.pl|/usr/share/lightsquid/common.pl|g' bigfiles.cgi day_detail.cgi get.cgi graph.cgi group_detail.cgi index.cgi mont
h_detail.cgi topsites.cgi user_detail.cgi user_month.cgi user_time.cgi whousesite.cgi check-setup.pl common.pl lightparser.pl
# sed -i 's|/etc/squid/users.txt|/etc/lightsquid/users.txt|g' ip2name/ip2name.demo ip2name/ip2name.dns ip2name/ip2name.list ip2name/ip2name.simple ip2name/ip2name.squidlist ip2name/ip2name.squidlist2
Создаем необходимые каталоги и копируем файлы.
# mkdir -m755 /etc/lightsquid
# mkdir -p -m755 /usr/share/lightsquid/lang /usr/share/lightsquid/ip2name /usr/share/lightsquid/tpl
# mkdir -m 755 /var/lib/lightsquid
# mkdir -m 755 /home/httpd/html/lightsquid
# mkdir -m 755 /home/httpd/cgi-bin/lightsquid
# install -m 755 lightparser.pl /usr/sbin/
# install -m 644 lightsquid.cfg /etc/lightsquid/lightsquid.cfg
# install -m 644 group.cfg /etc/lightsquid/group.cfg
# install -m 644 realname.cfg /etc/lightsquid/realname.cfg
# install -m 644 common.pl /usr/share/lightsquid/
# install -m 755 check-setup.pl /usr/share/lightsquid/
# install -m 644 lang/bg.lng lang/eng.lng lang/fr.lng lang/hu.lng lang/it.lng lang/pt_br.lng lang/ru.lng lang/sp.lng /usr/share/lightsquid/lang/
# install -m 644 ip2name/ip2name.demo ip2name/ip2name.dns ip2name/ip2name.list ip2name/ip2name.simple ip2name/ip2name.squidlist ip2name/ip2name.squidlist2 /usr/share/lightsquid/ip2name/
# cp -aRf tpl/base tpl/ric_1.6b-0.2 /usr/share/lightsquid/tpl/
# install -m 755 bigfiles.cgi day_detail.cgi get.cgi graph.cgi group_detail.cgi index.cgi month_detail.cgi topsites.cgi user_detail.cgi user_month.cgi user_time.cgi whousesite.cgi /home/httpd/cgi-bin/lightsquid/
# mkdir -m 755 /usr/share/doc/lightsquid-1.6
# cp -prL doc/graph.txt doc/install.txt doc/logformat.txt doc/readme.txt doc/templates.txt doc/thanks.txt doc/version.txt /usr/share/doc/lightsquid-1.6
# chown httpd.httpd /var/lib/lightsquid
# chown -R httpd.httpd /home/httpd/cgi-bin/lightsquid
Теперь нам необходимо создать index.html файл, в котором мы пропишем переадресацию в каталог /home/httpd/cgi-bin/lightsquid.
# touch /home/httpd/html/lightsquid/index.html
# vi /home/httpd/html/lightsquid/index.html
<html>
<head>
<title>LightSquid - lite log analizer for squid proxy.</title>
<meta http-equiv="refresh" content="0; url=http://192.168.3.4/cgi-bin/lightsquid/index.cgi" />
</head>
<body>
Please wait while we redirect you to our LightSquid page.
</body>
</html>
Файлы конфигурации у меня выглядят следующим образом:
### /etc/lightsquid/lightsquid.cfg ###
$tplpath ="/usr/share/lightsquid/tpl";
$langpath ="/usr/share/lightsquid/lang";
$reportpath ="/var/lib/lightsquid";
$logpath ="/var/log/squid/";
$ip2namepath ="/usr/share/lightsquid/ip2name";
$debug = 0;
$debug2 = 0;
$squidlogtype = 0;
$skipurl = "zzz\.zzz";
$ip2name="dns";
%month2dec = ( Jan => 1, Feb => 2, Mar => 3, Apr => 4, May => 5,Jun => 6,
Jul => 7, Aug => 8, Sep => 9, Oct => 10, Nov => 11,Dec => 12);
$timereport = 1;
$lang ="eng";
$templatename ="base";
$DecOutType="class";
$decdelimiter = " ";
$showgrouplink = 1;
$showoversizelink = 1;
$userealname=1;
$bigfilelimit = 2*1024*1024;
$perusertrafficlimit = 10*1024*1024;
$weekendmode="both";
$topsiteslimit = 500;
$usertimelimit = 200;
$graphreport = 1;
$graphmaxuser=0.05*(1024*1025*1024);
$graphmaxall =1.00*(1024*1025*1024);
$barcolor="orange";
Файлы group.cfg и realname.cfg у меня пустые, я пока не совсем разобралась для чего они нужны.
Напоследок нам необходимо проверить правильность нашей установки:
# /usr/share/lightsquid/check-setup.pl
LightSquid Config Checker, (c) 2005 Sergey Erokhin GNU GPL
LogPath : /var/log/squid/
reportpath: /var/lib/lightsquid
Lang : /usr/share/lightsquid/lang/eng
Template : /usr/share/lightsquid/tpl/base
Ip2Name : /usr/share/lightsquid/ip2name/ip2name.dns
all check passed, now try access to cgi part in browser
Если у Вас тот же результат что и у меня, следовательно вы сдали все правильно.
Для получения статистики необходимо выполнить /usr/sbin/lightparser.pl который сформирует отчеты в /var/lib/lightsquid каталог, после чего зайдя браузером по адресу где у вас расположен lightsquid, [no]http://< proxy >/lightsquid/[/no] можно лицезреть созданные отчеты.
Для автоматического формирования отчетов, можно прописать запуск lightparser скрипта в crontab, для этого выполним:
# crontab -e
*/55 * * * * httpd /usr/sbin/lightparser.pl
По окончанию установки нам необходмо удалить ненужные файлы.
# rm -rf /tmp/lightsquid-1.6-beta*[/more]