Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » LightSquid

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Открыть новую тему     Написать ответ в эту тему

ginger



Рыжик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

LightSquid - lite and fast log analizer for squid proxy

Текущая версия 1.8 Изменения  
Домашняя страница автор Сергей Ерохин (Sergey Erokhin).
 
LightSquid маленькая и быстрая программка сбора статистики работы пользователей через прокси-сервер Squid, является альтернативой SARG, представляет собой набор из нескольких скриптов написанных на языке программирования perl.
 
Требования:
 
Apache
Perl
Perl-GD2 (если необходимы графики)
Squid
Cron
 
Установка.

Всего записей: 854 | Зарегистр. 03-09-2001 | Отправлено: 11:18 01-02-2006 | Исправлено: zhe_zho, 18:28 27-01-2014
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вопрос короткий и простой: как это побороть и заставить его работать как положено.

Ответ на него тоже оказался просто,  
если бы в первом посте указали с какой версией работаете ....
 
собственно это был баг в старых версия
давно пофикшен
 
в openнах надо прописать путь.
там получается что когда пускаете руками - вы пускаете из текущей директории лайтсквида а файлы как раз в ней и лежат
 
а когда из крона, то директория не его, и в ней нет этих файлов ...
 
фиксится так
 
sub CreateGroupFile($) {
  my $path=shift;
 
  open Fi,"<$cfgpath/group.cfg";
  open Fo,">$path/.group";
  while (<Fi>) {
    print Fo $_;
  }
  close Fo;
  close Fi;
}
 
#-------------------------------------------------------------------------- RealName support
#
 
sub CreateRealnameFile($) {
  my $path=shift;
 
  open Fi,"<$cfgpath/realname.cfg";
  open Fo,">$path/.realname";
  while (<Fi>) {
    print Fo $_;
  }
  close Fo;
  close Fi;
}
 
ну и добавить
 
 $cfgpath             ="/usr/local/www/apache22/data/lightsquid";  

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 11:39 08-02-2008 | Исправлено: lightsquid, 15:26 08-02-2008
Maritanna

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сделала, все прекрасно заработало. Всем огромное спасибо за терпение и помощь =)

Всего записей: 7 | Зарегистр. 30-01-2008 | Отправлено: 12:11 11-02-2008
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Сделала, все прекрасно заработало. Всем огромное спасибо за терпение и помощь =)  

 
always welcome
 

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 15:23 11-02-2008
FitEugene

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день! Помогите пожалуйста, второй день бюсь с lighthttpd. Версия lightsquid-1.7.1.tgz       (последнее что нашел). Указал все пути.
 
Тест ОК
 
[root@mosprfwh01 lightsquid]# ./check-setup.pl  
LightSquid Config Checker, (c) 2005 Sergey Erokhin GNU GPL
 
LogPath   : /usr/local/squid/var/logs
reportpath: /usr/local/apache2/htdocs/lightsquid/report
Lang      : /usr/local/apache2/htdocs/lightsquid/lang/eng
Template  : /usr/local/apache2/htdocs/lightsquid/tpl/base
Ip2Name   : /usr/local/apache2/htdocs/lightsquid/ip2name/ip2name.simple
 
all check passed, now try access to cgi part in browser
 
При запуске в гуи пишет
 
LigthSquid diagnostic.
Error : report folder '/usr/local/apache2/htdocs/lightsquid/report' not contain any valid data! Please run lightparser.pl (and check 'report' folder content)
Please check config file !
Variable    value
$tplpatph    /usr/local/apache2/htdocs/lightsquid/tpl
$templatename    base
$langpatph    /usr/local/apache2/htdocs/lightsquid/lang
$langname    eng
$reportpath    /usr/local/apache2/htdocs/lightsquid/report
Access to '/usr/local/apache2/htdocs/lightsquid/report' folder    yes
folder content:
/usr/local/apache2/htdocs/lightsquid/report/delete.me
 
 
Права на папки все стоят вроде нормальные. lightparser.pl отрабатывает без ошибок. Логи сквида в формате html

Всего записей: 2 | Зарегистр. 19-01-2008 | Отправлено: 11:05 13-02-2008
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
веб часть похоже работает нормально, просто нечего отображать
а по какой причине парсер не парсит надо разбирать
 
 

Цитата:
Права на папки все стоят вроде нормальные. lightparser.pl отрабатывает без ошибок. Логи сквида в формате html

 
Это как ??
 
лог должен быть в NATIVE формате
включите в конфиге лайтсквида #debug=1;
и посмотрите что статистику парсера.
 
 

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 11:50 13-02-2008
FitEugene

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
прошу прощения, не так выразился )))
имел ввиду emulate_httpd_log on
 
Сейчас выключил. Включил дебаг, вроде даже lightsquid стал что-то читать, но походу не понимает... помогите плиз
 
[root@mosprfwh01 lightsquid]# cat lightsquid.cfg | grep quidlogtype
$squidlogtype        = 0;
[root@mosprfwh01 lightsquid]# ./lightparser.pl  
>>> use file :: /usr/local/squid/var/logs/access.log
run TIME: 0 sec
LightSquid parser statistic report
 
             106 lines processed (average 106.00 lines per second)
               0 lines parsed
               0 lines recovered
             106 lines notrecovered
               0 lines skiped by bad year
               0 lines skiped by date filter
               0 lines skiped by Denied filter
               0 lines skiped by skipURL filter
 
WARNING !!!!, parsed 0 lines from total : 106
please check confiuration !!!!
may be wrong log format selected ?
 
PS в то же время webalizer все понимает...
 
[root@mosprfwh01 stat]# webalizer /usr/local/squid/var/logs/access.log
Webalizer V2.01-10 (Linux 2.6.15-1.2054_FC5smp) English
Using logfile /usr/local/squid/var/logs/access.log (clf)
Creating output in /usr/local/apache2/htdocs/stat
Hostname for reports is 'mosprfwh01.vostok.net.intra'
Reading history file... webalizer.hist
Generating report for February 2008
Generating summary report
Saving history information...
118 records in 1.50 seconds, 78/sec
 
Вот синтаксис моего сквид лога
 
10.92.49.51 - user user [13/Feb/2008:13:25:21 +0300] "GET http://toolbarqueries.google.ru/search? HTTP/1.1" 200 338 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12 GoogleToolbarFF 3.0.20070525" TCP_MISS:DIRECT
10.92.49.51 - user user [13/Feb/2008:13:25:51 +0300] "GET http://sb.google.com/safebrowsing/update? HTTP/1.1" 200 6977 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" TCP_MISS:DIRECT
 
Добавлено:
огромное спасибо, разобрался. Задефолтил лог форма и сразу все заработало

Всего записей: 2 | Зарегистр. 19-01-2008 | Отправлено: 13:27 13-02-2008
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите пожвлуйста.
Возникла необходимость генерировать отделюную страницу на основании:

Цитата:
http://proxy:8888/cgi-bin/month_detail.cgi?year=2008&month=02

без ссылок и т.п. только для результата трафика за месяц по пользователю.
Как можно это сделать?

----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 07:36 19-02-2008
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
без ссылок и т.п. только для результата трафика за месяц по пользователю.
Как можно это сделать?

 
все ОЧЕНЬ просто
 
делаем новый темплейт, делаем копию BASE (tpl\base) -> (tpl\basenolink)
 
далее (на примере month_detail)
 
в темплейте
удаляем гиперссылки
 
ищем в темплейте <A HTRF="XXXXX"> .... </A>
и удалеем их

Код:
 
<td  align="center"><A HREF="##TIMEURL_L##"><img src="get.cgi?png=datetime" border="0" title="Graph Report"></A></td>
 

 
получаем  

Код:
 
<td  align="center"><img src="get.cgi?png=datetime" border="0" title="Graph Report"></td>
 

 
 
ну или весь кусок
 

Код:
 
<!-- [[ user start-->
                <tr ##ROWATTR##>
                  <td border="0" align="right"><font size="-1">##USERNUM##</font></td>
<!-- HIDE timereport start-->
                  <td  align="center"><A HREF="##TIMEURL_L##"><img src="get.cgi?png=datetime" border="0" title="Graph Report"></A></td>
<!-- HIDE timereport end-->
<!-- HIDE graphreport start-->
          <td align="center"><A HREF="##GRAPHURL_L##"><img src="get.cgi?png=graph" border="0" title="Graph Report"></A></td>
<!-- HIDE graphreport end-->
<!-- HIDE monthreport start-->
                  <td align="center"><A HREF="##USERMONTHURL_L##">##USERMONTHURL_B##</A></td>
<!-- HIDE monthreport end-->
                  <td ><A HREF="##USERURL_L##">##USERURL_B##</A></td>
<!-- HIDE realname start-->
                  <td align="right" nowrap="true"><font size="-1">##REALNAME##</font></td>
<!-- HIDE realname end-->
                  <td align="right"><font size="-1">##USERCONNECT##</font></td>
                  <td align="right"><font size="-1">##USERBYTES##</font></td>
                  <td align="right"><font size="-1">##USERPERCENT##%</font></td>
                  <td align="right"><font size="-1">##ALLUSERTOTAL##</font></td>
                </tr>
<!-- ]] user end-->
 

 
меняем на
 

Код:
 
<!-- [[ user start-->
                <tr ##ROWATTR##>
                  <td border="0" align="right"><font size="-1">##USERNUM##</font></td>
<!-- HIDE timereport start-->
                  <td  align="center"><img src="get.cgi?png=datetime" border="0" title="Graph Report"></td>
<!-- HIDE timereport end-->
<!-- HIDE graphreport start-->
          <td align="center"><img src="get.cgi?png=graph" border="0" title="Graph Report"></td>
<!-- HIDE graphreport end-->
<!-- HIDE monthreport start-->
                  <td align="center">##USERMONTHURL_B##</td>
<!-- HIDE monthreport end-->
                  <td >##USERURL_B##</td>
<!-- HIDE realname start-->
                  <td align="right" nowrap="true"><font size="-1">##REALNAME##</font></td>
<!-- HIDE realname end-->
                  <td align="right"><font size="-1">##USERCONNECT##</font></td>
                  <td align="right"><font size="-1">##USERBYTES##</font></td>
                  <td align="right"><font size="-1">##USERPERCENT##%</font></td>
                  <td align="right"><font size="-1">##ALLUSERTOTAL##</font></td>
                </tr>
<!-- ]] user end-->
 

 
p.s. код на реальной системе не проверил, но обязан работать
 
а далее собственно два пути
 
1.конгда нужен такой отчет, идем в нужное место и  временно переключаемся на наш новый темиплейт,
дописывае в URL &tpl=basenourl
конгда будет не нужно просто удаляем эту подстроку.
 
или более статический вариант.
 
2. меняем в конфиги  
$templatename        ="base";
на
$templatename        ="basenourl";
когда надо сгенерить нужный отчет
 

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 11:33 19-02-2008 | Исправлено: lightsquid, 11:38 19-02-2008
taelas

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите пожалуйста.
у меня в сквиде настроена авторизация через AD.
в логах вижу строчки или:
1203411231.943     58 192.168.6.110 TCP_MISS/304 219 GET http://weather.mail.ru/img/ico_wind.gif MKS+iturikova DIRECT/194.67.45.236 -
или:
1203411231.943     58 192.168.6.110 TCP_MISS/304 219 GET http://weather.mail.ru/img/ico_wind.gif MKS/iturikova DIRECT/194.67.45.236 -
при этом (при русском языке) в страничках с датами вижу имя пользователя:
mks, потом колонка соединений (2M), putpost 757, байт iturikova, 0%
или:
mks/iturikova, колонка соединений  114, putpost 604, трафик 442243, 1.1%  
и при тыканьи в пользователя не отображается ни сайты, который были ими посещены, ни трафик..
если ткнуть на "популярные сайты", а потом на "ну и Кто", то видно "mks itugrikova"
в файлах данных можно увидеть следующее (.bigfiles):
mks iturikova   11:41:16        4738056 http://dl.zaycev.net/82d12da2938a97b9267d4d60990c53d9/2159/215929/maksim_-_beliy,_beliy_sneg_-_newand33and33_2oo8.mp3
если брать файл .total
mks iturikova               30612303            1876               0
соответственно для неё образуется файл mks iturikova с примерно таким содержанием:
total: 30612303
dl.zaycev.net                     18107618          7   0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 15-18107618 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0
подскажите, что можно сделать, чтобы увидеть "нормальную" статистику.
спасибо.

Всего записей: 158 | Зарегистр. 24-01-2006 | Отправлено: 12:21 19-02-2008
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
подскажите пожалуйста.
у меня в сквиде настроена авторизация через AD.
в логах вижу строчки или:
1203411231.943     58 192.168.6.110 TCP_MISS/304 219 GET http://weather.mail.ru/img/ico_wind.gif MKS+iturikova DIRECT/194.67.45.236 -
или:
1203411231.943     58 192.168.6.110 TCP_MISS/304 219 GET http://weather.mail.ru/img/ico_wind.gif MKS/iturikova DIRECT/194.67.45.236 -
при этом (при русском языке) в страничках с датами вижу имя пользователя:
 

 
в ip2name надо вставить обработку символов + и /  
 
т.е. MKS+iturikova -> MKS_iturikova
 
например
 
из ip2name="simple"
 

Код:
 
sub Ip2Name($$$) {
  # $Lhost,$user,$Ltimestamp
  my $Lhost=shift;
  my $user =shift;
 $user =~ s/\+/\_/g;
 $user =~ s/\//\_/g;
  return $user if ($user ne "-"); #return user if defined !!!!!
  return $Lhost;
}
 
 

 
собственно идея надеюсь понятна.
 
p.s. МКС - Харьков ?

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 13:11 19-02-2008 | Исправлено: lightsquid, 13:16 19-02-2008
taelas

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lightsquid
да, спасибо. идею понял.
ещё вопрос, а если у меня несколько доменов, можно ли каким либо образом делить по доменам? т.е. чтобы на главной был выбор по доменам, а потом уже внутри них разбивку по пользователям? или, например, разнос по различным группам
 
ps нет, не Харьков

Всего записей: 158 | Зарегистр. 24-01-2006 | Отправлено: 13:46 19-02-2008
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
да, спасибо. идею понял.
ещё вопрос, а если у меня несколько доменов, можно ли каким либо образом делить по доменам? т.е. чтобы на главной был выбор по доменам, а потом уже внутри них разбивку по пользователям? или, например, разнос по различным группам  

 
максимум что можно сделать, эт отчет по группам
но файлик надо сгенерить самому.
 

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 13:54 19-02-2008
Nuk79

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь сделал отключение юзверей в сквиде, при превышении лимитов, на основании blocked_users?

Всего записей: 38 | Зарегистр. 29-04-2005 | Отправлено: 16:28 26-02-2008
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nuk79
Я сделал - работает нормально...
lightsquid
Спасибо за подсказку... Но это не совсем то что нужно...
Мне надо только одна html'ка типа
perl month_detail.cgi?year=2008&month=02 > index.html
такое возможно?


----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 23:20 26-02-2008
Demonster1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ruza  

Цитата:
 Я сделал - работает нормально...

решение в студию плиз  

Всего записей: 70 | Зарегистр. 15-09-2006 | Отправлено: 10:51 27-02-2008
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Мне надо только одна html'ка типа
perl month_detail.cgi?year=2008&month=02 > index.html
такое возможно?  

 
не проблема, сделай так как я описал выше, для оной только month_detail
 
если нужно в файл
то  
 
wget "http://localhost/lightsquid/month_detail.cgi?year=2008&month=02&tpl=blablalbla" ....
 
через перл не получится, там параметры из cgi берутся
 

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 13:23 27-02-2008 | Исправлено: lightsquid, 13:27 27-02-2008
Doompilot



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Похоже, придется реанимировать тему
 
Lightsquid 1.7.1 не рисует графики. Где смотреть?
 
Дист - Suse Enterprise Server 10.
 
Все библиотеки из области libgd.so и perl-GD вроде поставил, check-setup.pl ни на что не ругается, но при попытке вывести график через интерфейс в браузере рисует битую картину. При попытке взбодрить через контекстное меню ("показать картнку") пишет такую фразу:
 
"Изображение "http://имясервера/lightsquid/graph.cgi?png=1&year=2008&month=02&mode=user&user=имянужногохоста" не может быть показано, так как содержит ошибки.
 
Да, libpng стоит тоже. И jpeg стоит.
 
Если будет возможность, подскажите пожалуйста, куда еще поглядеть. Я, мягко говоря, совсем не специалист в перле и CGI; непонятно даже, как оттрейсить исполнение упомянутого graph.cgi.
 
В логах апача - ошибка следующего вида:
 
Can't locate object method "png" via package "GD:Image" at /srv/www/htdocs/lightsquid/graph.cgi line 294
 
В оной строке оператор, выглядящий:
print $im->png #Convert the image to PNG and print it to standard output
 
Сама GD стоит, как я говорил, check-setup.pl ее после установки увидел и
предыдущее ругательство на отсутствие выдвать перестал.
 
Понятно, что не работатет, собственно, функция рисования PNGшных картинок.. Но где рыть собаку - пока не понимаю...GD переставить? Ставил последнюю 2.0.35, собирал из сорцов. Вроде, на инсталляционном диске валялась более ранняя версия...
 
Самое гадкое, что времени на эти настройки - пара дней от силы, вольготно сидеть и копать не выйдет...

Всего записей: 19 | Зарегистр. 09-08-2005 | Отправлено: 11:15 28-02-2008 | Исправлено: Doompilot, 11:33 28-02-2008
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Can't locate object method "png" via package "GD:Image" at /srv/www/htdocs/lightsquid/graph.cgi line 294  

похоже в твоей либгд нет поддержки PNG
а нужна ...
 

Цитата:
print $im->png #Convert the image to PNG and print it to standard output  

 
попробуй заменть на
graph.cgi на следующую:
 

Код:
 
print eval {$im->png} || $im->gif;
 

 
отпишись о результатах.
 
 
 

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 14:40 28-02-2008
Doompilot



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Показывает!!! А можно для общего развития, что сия модификация вывода делает? Выводит везде вместо png - gif?
 
Да, libpng стоит...

Всего записей: 19 | Зарегистр. 09-08-2005 | Отправлено: 15:50 28-02-2008 | Исправлено: Doompilot, 15:51 28-02-2008
lightsquid

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Показывает!!! А можно для общего развития, что сия модификация вывода делает? Выводит везде вместо png - gif?  

 

Код:
 
 print eval {$im->png} || $im->gif;  
 

пытаемся вывести в PNG если случилась ошибка - выводим в gif
 
а детальнее, eval{} выполнить код который в скобке, но если случилась ошибка не падаем а возвращаем ошибку и в переменные заносим детали
 
ну а далее ИЛИ причем если первый аргумент истина второй и не пытаемся выполнить.
 
 

Цитата:
Да, libpng стоит...

надо чтоб libgd был скомпилен с поддержкой PNG а он почемуто без .....
странно.
 

Всего записей: 105 | Зарегистр. 15-02-2006 | Отправлено: 01:49 29-02-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » LightSquid


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru