Документация по ОС FreeBSD Пятница, 26.04.2024, 07:54
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Squid

Lightsquid - анализатор(парсер) логов Squid, OOPS на FreeBSD 7.1 + lighttpd, apache13 [2009]
Пару слов :
 Дома стоит squid  с sams для раздачи интернет. Частично lightsquid может заменить sams : быстрая и простая инсталляция, быстрый парсер ,cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный интерфейс.Другие альтернативы - SARG, Calamaris

1. Установка
Обновите порты
#cd /usr/ports/www/lightsquid/
#make install clean

Выбираем предлагаемый единственный пункт

Для графических отчетов нужна эта библиотека:
http://www.boutell.com/gd/
http://search.cpan.org/~lds/GD/
[X] GDSUPPORT
***********************************************************************
Read /usr/local/share/doc/lightsquid/readme.txt.
Edit /usr/local/etc/lightsquid/lightsquid.cfg to suit your needs.
***********************************************************************

Многое установилось в  /usr/local/www/lightsquid - web часть

.htaccess, graph.cgi, tpl , bigfiles.cgi, group_detail.cgi, user_detail.cgi, check-setup.pl, index.cgi, user_month.cgi, common.pl, user_time.cgi, day_detail.cgi, month_detail.cgi, whousesite.cgi, fixreport.pl, report, get.cgi, topsites.cgi              
lightparser.pl         - парсер логов

Языки file:///usr/local/share/lightsquid/lang
Локальная документация  file:///usr/local/share/doc/lightsquid/

И конфигурационные файлы в /usr/local/etc/lightsquid/

group.cfg            lightsquid.cfg       realname.cfg         skipuser.cfg
group.cfg.dist       lightsquid.cfg.dist  realname.cfg.dist    skipuser.cfg.dist
# pkg_info -Ix lightsquid
lightsquid-1.7.1_1 A light and fast web based squid proxy traffic analyser

2. Конфигурационные файлы и ip2name

lightsquid.cfg :

# -------------------- Глобальные переменные --------------------------

#путь к `cfg` файлам
$cfgpath ="/usr/local/etc/lightsquid";
#путь `tpl` папке - шаблонам
$tplpath ="/usr/local/www/lightsquid/tpl";
#путь к `lang` папке - языки
$langpath ="/usr/local/share/lightsquid/lang";
#путь к `report` папке - отчеты
$reportpath ="/usr/local/www/lightsquid/report";
#путь к access.log - где логи squid, oops ...
$logpath ="/usr/local/squid/logs/";
#путь к `ip2name` папке - преобразование ip в имена
$ip2namepath ="/usr/local/libexec/lightsquid";

#путь к `lockfile` ;-)
$lockpath =$reportpath;

# если lockfile старше $maxlocktime секунд, удалить старый lock file.
$maxlocktime = 30*60;

# -------------------- LightParser переменные ------------------------
#lightsquid поддерживает 2 типа логов : родной и httpd
#если родной squid-кий формат - должно быть 0
#если EmulateHttpdLog ON - выставте 1
#
$squidlogtype = 0;

#если вы хотите не учитывать статистику с некоторых сайтов - 
#измените переменную
#Предупреждение !!!, не оставляйте эту переменную пустой !!!
#example, if you want skip LOCAL site, put it here
#$skipurl = "zdd.com|192\.168\.1\.|cnn.com";
$skipurl = "zzz\.zzz";

#Использование ip2name - для преобразования ip в имена

$ip2name="simple";

#используется если нада конвертить text в число - при EmualteHttpdLog
%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;

# -------------------- Веб переменные-----------------------------------

# язык (lдоступные: bg,eng,fr,hu,it,pt_br,ru,sp)
$lang ="ru";

#имя html шаблонов
#смотри `tpl/$templatename/`
$templatename ="base";
#$templatename ="ric";
#$templatename ="base.css";

#определенные типы вывода чисел
#fine 123456789 -> 123,456,789
#class 123456789 -> 117.7 G
$DecOutType="class";

# = " " -> 12 345 678
# = "," -> 12,345,678
# = "" -> 12345678
$decdelimiter = " ";

#если надо Group режим установите =1
$showgrouplink = 1;

#если не 0 - выглядит так "01. Group1", если 0 - "Group1"
$showgroupid = 1;

$showoversizelink = 1;


#использование .realname файлов. См Дальше
$userealname = 1;

#большие файлы - с 500Мб
$bigfilelimit = 500*1024*1024;

#лимит для пользователей - 1000Мб
$perusertrafficlimit = 1000*1024*1024;

# недельный режим отображения
# both - select sunday & monday
# monday - only monday
$weekendmode="both";

#как много сайтов показывать TopSites отчете
$topsiteslimit = 500;

#как много сайтов показывать в user time отчете
$usertimelimit = 500;

 
#если вам надо графический отчет установите = 1
#WARNING !!!, нужна, GD.PM , ту которую мы отметили перед сборкой!!!
#запустите check-setup.pl для определения библиотеки !!!!
$graphreport = 1;

#максимальное значение на графике
# для пользователя за месяц (0.05*(...) = 50mb)
$graphmaxuser=2*(1024*1024*1024);
#для всех пользователей за месяц (1.05*(...) = 1 Gb)
$graphmaxall =2*(1024*1024*1024);

# темы для графиков, доступные :"orange","blue","green","yellow","brown","red"
$barcolor="blue";

Обьединить пользователей в группы и смотреть отчёты по группе
#ee /usr/local/etc/lightsquid/group.cfg 
192.168.0.63 01 gx-grp
192.168.0.197 02 nata-grp
192.168.0.195 01 gx-grp

после изменений перепарсите :
#/usr/local/www/lightsquid/lightparser.pl 
#cd /usr/local/www/lightsquid/ && ./check-setup.pl

Далее ip2name - преобразование ip в имена

правим lightsquid.cfg :
$ip2name = "list";
$showgrouplink = 1;
$userealname = 1;

В /usr/local/libexec/lightsquid/ip2name.list изменяем :
my $ipfile = "/usr/local/www/lightsquid/users.txt";

#:>/usr/local/www/lightsquid/users.txt
#cat /usr/local/www/lightsquid/users.txt
192.168.0.63 gxpda
192.168.0.197 nata
192.168.0.195 gxlaptop

Теперь в group.cfg нужно заменить все IP адреса на соответственние им имена компьютеров, а в файле realname.cfg сопоставить эти имена с реальными людьми:
# cat /usr/local/etc/lightsquid/group.cfg
gxpda 01 gx-grp
nata 02 nata-grp
gxlaptop 01 gx-grp

# cat /usr/local/etc/lightsquid/realname.cfg
gxpda gx1-pda user name
nata nata user
gxlaptop gx2 -laptop user name

после изменений перепарсите :
#/usr/local/www/lightsquid/lightparser.pl 
#cd /usr/local/www/lightsquid/ && ./check-setup.pl

3. Алиасы для lighttpd, apache13

Добавте нужные алиасы в нужные секции для вашего апача или лайти:

Apache13
Alias /lightsquid "/usr/local/www/lightsquid"
 <Directory "/usr/local/www/lightsquid">
 AddHandler cgi-script .cgi
 AllowOverride All
 </Directory>

#apachectl restart

Для lighttpd-1.4.21_2

Исправьте такое в lighttpd.conf:
alias.url+=("/lightsquid/" => "/usr/local/www/lightsquid/")
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm", "index.cgi" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".cgi" )

cgi.assign = (
".pl" => "/usr/bin/perl",
".cgi" => "/usr/bin/perl"
)

и "mod_cgi" в server.modules
 Для PHP не забудьте установить cgi.fix_pathinfo = 1 в php.ini.
# /usr/local/etc/rc.d/lighttpd restart

4. Запуск

рестарт web-servera

проверяем конфиги:
# cd /usr/local/www/lightsquid/ && ./check-setup.pl
LightSquid Config Checker, (c) 2005 Sergey Erokhin GNU GPL

LogPath : /usr/local/squid/logs/
reportpath: /usr/local/www/lightsquid/report
Lang : /usr/local/share/lightsquid/lang/ru
Template : /usr/local/www/lightsquid/tpl/base
Ip2Name : /usr/local/libexec/lightsquid/ip2name.list

all check passed, now try access to cgi part in browser

Вручную парсим логи:
# /usr/local/www/lightsquid/lightparser.pl

Crontab(каждые 30 мин) :
*/30 * * * * /usr/local/www/lightsquid/lightparser.pl



Источник: http://www.lissyara.su/?id=1878
Категория: Squid | Добавил: oleg (04.03.2009) | Автор: gx_ua
Просмотров: 3086 | Рейтинг: 4.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024