LighSquid (http://lightsquid.sf.net) - маленький и быстрый анализатор лога для прокси сервера squid,
написан по мотивам SARG, состоит из ~45k перловых скриптов.Быстро устанавливается, не требует дополнительных модулей.
В сравнении с SARG на диске занимает гораздо меньше места.URL: http://lightsquid.sf.net
Новость: http://www.opennet.me/opennews/art.shtml?num=5322
великолепно!
автору - мое почтение.
До удивления напоминает SARG :)
только похуже =)
ага, в свое время я там баги правил, и понял чего он ТАК ТОРМОЗИТ, да и диска занимает дофига ж-)
просто мою мелочь спокойно можно пускать раз в 10 мин. а сарга - я чаще раза в сутки - боялся пускать, тормозит жутко
да и я делал только те отчеты что мне нужны ;-)
в принципе там все очень просто
40к сорцов в 11 файлах, парсер - 6к, остальное cgi для визуализации.
а если чего надо - пишите ;-))
А что делать, если нужно просмотреть лог размером 4Гб?
>А что делать, если нужно просмотреть лог размером 4Гб?
не проблемма ;-)
это за 1 день ??
если парсер пускаеться с параметром today, то все все что не относиться к сегодня - скипаеться, а это достаточно быстро
а вообще если это общий лог - рекомендую повесить logrotate,
или в кроне повесить squid -k rotate раз в неделю ;-)
если можно, пару вопросов...
1. Sarg умеет складывать в опр. файл имена юзеров, исчерпавший некий лимит по трафику. Вы не планируете сделать такое?
2. Не описан алгоритм работы :( Он запускается крону каждые 55 секунд, заново анализирует лог за день, кидает результаты в свой в свой файли и показывает статистику из него через CGI?
3. Вы не могли бы привести какие-нибудь результаты по использованию ресурсов системы анализатором? Ну, вроде: разбор файла размером X MB (месячный трафик Y MB) занимает N сек. времени на процессоре N ...
P.S. Можно обсужить по e-mail, если тут не хочется.
>если можно, пару вопросов...
>1. Sarg умеет складывать в опр. файл имена юзеров, исчерпавший некий
лимит по трафику. Вы не планируете сделать такое?мне это было не нужно, но это вообще можно делать после парсенья,
анализируюя то что lightsquid сохранил для себя, т.е. самое сложное - нарисовать html для этого, - рисуй - сделаю.>2. Не описан алгоритм работы :( Он запускается крону каждые 55 секунд,
>заново анализирует лог за день, кидает результаты в свой в свой
>файли и показывает статистику из него через CGI?
да, именно так.
55 секунд, ой это я углючился !!!!!!!!!!!!!!
имелось в виду 55 минут !!!!!!
побежал исправлять.
т.е. меня устраивает раз в час обновлять логи, хотя можно и чаще.>3. Вы не могли бы привести какие-нибудь результаты по использованию ресурсов системы анализатором? Ну, вроде: разбор файла размером X MB (месячный трафик Y >MB) занимает N сек. времени на процессоре N ...
ладно, cpu - athlon 1800+ 3060 bogomips
./lightparser.pl access.log.2.tgz
т.е раззиповать файл, и пропарсить (за неделю) 1 мин. 3 сек.
15 400 857 Apr 3 04:03 access.log.2.gz ->
133 242 040 Apr 14 12:23 access.log.2
gunzip - 18 сек ;-))lightparser.pl today - (на 12 часов дня) 18 сек.
а вообще идея была в том что не надо парсить за месяц, есть же отчеты ежедневные, зачем делать дурную работу ?
(кстати которую делает сарг)
1. Лимит траффика по IP и чтоб складывался в отдельный файл.
2. Cуммарный трафик для каждого ip и тоже чтоб в отдельный файл складывался.
3. Чтоб в отдельном файле указывались имена хостов или ip траффик с которых не должны отражатся в статистике.
Я просто сам хотел такую штуку писать, но если ты дополнишь свой парсер это будет чудесно.
>1. Лимит траффика по IP и чтоб складывался в отдельный файл.
см. пост выше, делайте html - допишу, или сами делайте, там все ПРОСТО ;-)
>2. Cуммарный трафик для каждого ip и тоже чтоб в отдельный файл
>складывался.это есть, но визуальное а не в файл, в списке юзеров, если ткнуть в общий траффик (в самом низу странички), то будет страница с траффиком всех ющеров за месяц
>3. Чтоб в отдельном файле указывались имена хостов или ip траффик с
>которых не должны отражатся в статистике.
не проблемма ;-))
в принципе это перл, парсер 5к занимает ;-))
или пиши как это должно выглядеть
(прост такое ме было не нужно)
>Я просто сам хотел такую штуку писать, но если ты дополнишь свой
>парсер это будет чудесно.
sarg 1 версии действилельно тормозил офигенно и диска под отчеты жрал немеренно. Однако после миграции на версию 2 положение круто изменилось. sarg стал ощутимо более быстр и его отчеты занимают гораздо меньше места. Кроме того, сарг - "экзешник", так что по определению работает быстрее, чем программа на интерпретируемом языке. Так что можете запускать его сколько надо.
>sarg 1 версии действилельно тормозил офигенно и диска под отчеты жрал немеренно.
>Однако после миграции на версию 2 положение круто изменилось.
>sarg стал ощутимо более быстр и его отчеты занимают гораздо меньше места.
>Кроме того, сарг - "экзешник", так что по определению работает быстрее, >чем программа на интерпретируемом языке.
>Так что можете запускать его сколько надо.по поводу быстродействия - смотри выше мои ответы,
ты видимо не имел дело с перлом ;-)))я долго использовал сарг, но он меня не устроил, и я написал для себя - свой анализатор ;-))
меня не устраивает в сарге - то что он генерит статик html, при моем объеме инета - это больше 7 метров в сутки отчетов
мой - 500к
(700 метров траффика через сквид, до 120 юзеров в сутки)
да и добовлять новые фичи в мой много прощекаждый - юзает то что ему надо.
еще одна причина - избыточность логов сарга для ежедневного анализа
(про опции я в курсе ;-)
ну на кой мне скажите надо статистика сколько ДЛЯ КОНКРЕТНОГО ЮЗЕРА был кеш хит ?
для всего сквида - еще понимаю (и наверное сделаю), а для юзера ?
и еще много такого ...
>меня не устраивает в сарге - то что он генерит статик html,
>при моем объеме инета - это больше 7 метров в сутки
>отчетов
>мой - 500к
>(700 метров траффика через сквид, до 120 юзеров в сутки)
хм. а если в сарге настроить аналогичный вывод, т.е. только те колонки, которые есть у Вас какой размер отчета САРГ-а будет?
во втором сарге можно лимитировать список посещаемых сайтов в отчете - отчет становится на порядок меньше. у Вас есть такое?
>>меня не устраивает в сарге - то что он генерит статик html,
>>при моем объеме инета - это больше 7 метров в сутки
>>отчетов
>>мой - 500к
>>(700 метров траффика через сквид, до 120 юзеров в сутки)
>хм. а если в сарге настроить аналогичный вывод, т.е. только те колонки,
>которые есть у Вас какой размер отчета САРГ-а будет?
>во втором сарге можно лимитировать список посещаемых сайтов в отчете - отчет
>становится на порядок меньше. у Вас есть такое?гм, а зачем ???
у меня лог на порядки меньше, зачем мне ограничивать что либо ????
в топсайтах = ограничение в конфиге, скока надо столько и показываем
а сарга - все СТАТИК HTML
у меня - динамик, в это и разницая считаю, что автор настроил софтину по умолчанию- оптимально
меня оптимум сарга - не устраивает
да и я ниже описывал что я на фирме получаю имя пользователя (если есть только ip) из базы, а для сарга - надо писать препроцессор для этогоа в общем - кому - что - надо ;-)
> гм, а зачем ???
> у меня лог на порядки меньше, зачем мне ограничивать что либо ????
основная проблема разработчиков - то что многие пишут софт под себя.
вы ориентируетесь на свой достаточно большой лог, но например у одних наших клиентов юзеров в несколько раз больше чем у Вас. там и лог поболе будет.
я согласен что дефолтные настройки сарга не идеальные(непрактичные), но
его же можно настроить(отключить/включить что надо и не надо) и мы придем к аналогичному Вашему анализатору виду отчетов. Согласитесь, Ваши дефолтные настроки тоже подойдут многим, но кому-то и нет и им тоже "придется" править конфиг.
по поводу "топ сайта":
основная проблема в сарге с местом заключалась в том, что болше всего места в итоге сжирают отчеты по отдельным пользователям. когда появилась во втором сарге опция ограничивать количество топ сайтов для каждого пользователя - отчет сразу уменьшился раз в десять. зачем его надо/можно ограничивать? ведь не всегда интересует вся "простыня" куда ходил пользователь, т.к. внизу как правило оказываются баннеры. а список реально посещаемых страниц - 50-100 хостов. остальные - мелочь, которая в результате или режется или на нее не обращается внимание, т.е. ненужная информация.
успехов в разработке!> а сарга - все СТАТИК HTML
> у меня - динамик, в это и разница
наверное это плюс. надо будет попробовать на больших логах.
как я понимаю весь open source - в начале для себя ;-))я собственно не навязываюсь, а предлагаю альтернативу
как бы в сарге есть вещи которые меня напрягали, притом сильно
1) выбор периода для просмотра - мягко скажем не удачен
2) надо генерирвать отдельные отчеты за день/неделю/меясц (у меня собираем за день, а далее если надо - сумируем за нужный период
т.е у сарга пиходиться выбирать что оставить, за месяц или несколько дней, а у меня - автоматом ;-)
3) собственно LightSquid расчитан на админов, т.е. людей у которых всегда индивидуальная конфигурация, и надо править под себя
с саргом - тяжелей, там единственное средство - парсить лог перед ним.и в итоге, похоже я сильно угадал, сарг - уже многих не устраивает, по различным причинам,
часть его места - займет LightSquid, кого не устраивает - будут использовать sarg или еще чего.в общем каждый делает выбор сам ;-)
в догонку
да скорость стала заметно выше, но
на тестовом логе (100 метров за неделю)
58 метров отчет недельный
если сюда еще и дневные добавть ....
при у меня меньше 3-х метров.
мож бинарник а не екзешник )))))))))))))))))0
и это еще нифига не показатель скорости.
try this http://www.crc.net.nz/software/srg.php
>try this http://www.crc.net.nz/software/srg.php
я его смотрел, мой при меньшем рпзмере - уже умеет больше ;-)
>>try this http://www.crc.net.nz/software/srg.php
>я его смотрел, мой при меньшем рпзмере - уже умеет больше ;-)
>
Еще есть Calamaris, тоже на перле.
http://cord.de/tools/squid/calamaris/Welcome.html.enСудя по функциям, вы пишете аналог :)
свят свят свят !!!!!
это ужас, прогнал на своем логе (100 метров за неделю)
включил режим User
на выходе 1.2 ГИГА !!!!!! на диске
у LightSquid на том же логе меньше 3-х
правда srg зачем-то делает детальный отчет по каждому юзеру и сайту, имхо слишком.нафиг.
Товарищи помогите!!!Все парсится,но просмотреть статистику я не могу.после того как ввожу http://***.***.***.***/lightsquid/ вижу просто содержимое директории
надонастроить апач для запуска cgi из локальной папки
в install.txt есть инфа по этому поводу
На кеше размером
ll /squid/logs/access.log
-rw-r--r-- 1 squid squid 154684772 14 апр 12:08 /squid/logs/access.log
отработал в течении 2 минут
отчет краткий, но для многих задач достаточный
ещё бы по русски для руководства
>На кеше размером
>ll /squid/logs/access.log
>-rw-r--r-- 1 squid squid 154684772 14 апр 12:08 /squid/logs/access.log
>
>отработал в течении 2 минут
>отчет краткий, но для многих задач достаточный
и чего не хватает ??
;-))>ещё бы по русски для руководства
будет со временем
При использовании mod_perl надо очень аккуратно использовать переменные в скриптах.
Для упрощения переноса системы на mod_perl, просьба к разработчику в cgi-скриптах использовать директиву use strict; и объявлять локальные переменные через my, конфигурационные переменные через use vars.
я не уверен что есть сильная необходимость пускать его под модперлом
в теории там нет такой нагрузкиесли у вас есть желание - правьте, я опубликую, т.к. для меня модперл не актуален :-((
к сожалению времени свободного мало
У меня почему-то при запуске от простого юзера на Solaris8 директории в папке report создаются с правами drw-r-xr-x и соответственно в них ничего не пишется, хотя umask=022 и mkdir оздаёт директорию с правами 755.
>У меня почему-то при запуске от простого юзера на Solaris8 директории в
>папке report создаются с правами drw-r-xr-x и соответственно в них ничего
>не пишется, хотя umask=022 и mkdir оздаёт директорию с правами 755.
>
lihgtsquid.pl
line 142: mkdir "$reppath",0655 || die "can't create dir $reppath - $!";
просто он у меня пускаеться от рута, наверное это не очень правильно.в принцепе если есть предложенияы по этому поводу - жду
Выложил новую версию,
пофиксил мелочь, добавил отчет о юзерах которые превысили лимит
tak-tak-tak... a on po luser'am tol'ko, ili po IP mozhet?
Ne sovsem poniaten config i zachem nuzhen group.cfg, a src chitat' ffpadlo [c]
Nelzia li comment'ami pojasnit', kak v squid.cfg?
Nashet inline-perl v confige - horosho pridumal.
1)
алгоритм такой, если определен пользователь, то используем его,
если нет, то вызываем функцию GetNameByIP($ip) которая должна вернуть имя
это пислаось как оффисный лог анализер, и по этому юзер тут первичен
в принципе для учета по IP надо закоментировать 1 IF в исходнике
if ($Luser eq "-") ...
хотя в теории можно и папрметр сделать, но только елси будет много жилающих.
а в функции GetNameByIP у меня в конторе добывает имя юзера каким угодно способом, главное получить имя ;-)2) опять же, ноги ростут из рабочей версии
есть контора, в ней толпа народа, разбитых по отделам, интересно видеть статистику в разрезе отделов
есть база в которой есть соответствие человек - отдел
в этой функции у меня из базы добываем имя, отдел, и пишем в файл .groups
в релизе мои mysql запросы вряди кому интересны,
по этому предложил простую версию
есть в директории файл .group, который редактирует админ, и он при каждом парсинге копируеться в дир с отчетом.
т.о. если в конторе народу мало, можно сделать это один раз и оно будет работать.
использовать не обязательно ;-)3) в процессе ж-), писать доку - сущее мучение.
4) а чего такого ;-), оно все на перле, просто инклудем его, и всех делов
Я в httpd.conf вписал еще
Options +ExecCGIБез нее ничего не отображалось в браузере.
Сейчас отображается пустая страница, только синий заголовок вверху и зеленая табличка с датами.
Никакой статистики. С чего бы это?И еще - а в group.cfg раделитель табуляция?
В любом случае - автору спасибо.
скачай версию 1.1, там появился дебаг, включай и пиши на мыло что получилось
esl@pisem.netда, табуляция
цифры - задают порядок следования отделов в отчете.
Было несколько проблемок(у меня accecc.log.x a не access.log.x.gz, траблы с путями при запуске по крону и формат таблицы big files), пришлось напильником пройтись по некоторым фалам - теперь все классно. Особо порадовали отчеты Big files и top sites, чего нету у sarga.
Большое спасибо, Sergey Erokhin!
очень рад !!
пришли свою версию, посмотрю
может чего добавлю более конфигурябельно сделаю
выпустил версию 1.4
теперь все желающие могут делать свой дезигн html
и еще по мелочам
templates
По Вашему совету скачал последнюю версию. Она отработала. Первая страничка формируется частично, тольк заголовки. При клике на месяца перебрасывает на совершенно белую страничку.И еще - на первой страничке почему то указана версия 1.0, хотя я обновился.
Во первых, огромное спасибо!
Во вторых, есть пара мест где нет проверки на деление на 0, у себя исправил, но настоятельно рекомендую :) подправить в основной веткев index.cgi
55 строка
вместо
$yearspan=12/$yearcnt;
можно
$yearspan=0;
if ($yearcnt>0) {
$yearspan=12/$yearcnt;
}
Я сегодня тоже настрогал скипт на перле - вытягивает из лога (access.log) все запросы у яндекса, рамблера, апорта, гугля, местного tut.by.
Весьма прикольно рассматривать, чего кто назапрашивал, перлы встречаются часто!
Интересная идея! Скриптом поделишься?
прикольная идея, подумаю, может добавть ;-))
>прикольная идея, подумаю, может добавть ;-))
лишь бы потом на тебя в суд не подали :\пример работы :
cat access.log | ./sq_aa >> qu.txtполучаются строки вида
Sun Apr 17 13:35:18 2005 192.0.0.115 yandex 'ЗЗаппросс'файл qu.txt смотреть браузером, так как запросы в разных кодировках (кои\вин\утф)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/usr/bin/perlwhile (<STDIN>)
{
$type='';
if (/GET http\:\/\/www\.yandex\.ru\/yandsearch\?/) {$type='yandex'}
elsif (/GET http\:\/\/search\.rambler\.ru\/srch\?/) {$type='rambler'}
elsif (/GET http\:\/\/search.tut.by\/\?/) {$type='tut'}
elsif (/GET http\:\/\/www\.google\..*\/search\?/) {$type='google'}
elsif (/GET http\:\/\/an\.aport\.ru\/scripts\/template\.dll\?/) {$type='aport'}
else {next}s!\s+! !g;
@a=split/ /;foreach $i ((split '&',$a[6]))
{
if (
(($type eq 'yandex')&&($i=~/^text=(.*)$/))||
(($type eq 'aport')&&($i=~/^r=(.*)$/))||
(($type eq 'rambler')&&($i=~/^q=(.*)$/))||
(($type eq 'rambler')&&($i=~/^words=(.*)$/))||
(($type eq 'rambler')&&($i=~/^old_q=(.*)$/))||
(($type eq 'tut')&&($i=~/^query=(.*)$/))||
(($type eq 'google')&&($i=~/^q=(.*)$/))
)
{
$q=$1;
$q=~s/\+/ /g;
$q=~s/%([0-9A-Ha-h]{2})/pack('C',hex($1))/ge;
print localtime($a[0])." $a[2] $type \'$q\'\n";
}
}
}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>прикольная идея, подумаю, может добавть ;-))
>лишь бы потом на тебя в суд не подали :\
>
>пример работы :
>cat access.log | ./sq_aa >> qu.txtа какие у тебя параметры жля сквида ?
у меня все что после ? режеться ??
>>>прикольная идея, подумаю, может добавть ;-))
>>лишь бы потом на тебя в суд не подали :\
>>
>>пример работы :
>>cat access.log | ./sq_aa >> qu.txt
>
>а какие у тебя параметры жля сквида ?
>у меня все что после ? режеться ??strip_query_terms off
размер лога примерно в 2 раза будет больше, но оно того стоит :)
кроме того, данный скрипт заточен под такой формат:1114178940.960 1342 192.0.0.101 TCP_MISS/200 5564 GET http://www.yandex.ru/yandsearch?rpt=rad&
text=fly+tv+2000 - DIRECT/213.180.204.11 text/html
>>>прикольная идея, подумаю, может добавть ;-))
>>лишь бы потом на тебя в суд не подали :\
>>
>>пример работы :
>>cat access.log | ./sq_aa >> qu.txt
>
>а какие у тебя параметры жля сквида ?
>у меня все что после ? режеться ??
strip_query_terms offразмер лога примерно в 2 раза будет больше, но оно того стоит :)
кроме того, данный скрипт заточен под такой формат:1114178940.960 1342 192.0.0.101 TCP_MISS/200 5564 GET http://www.yandex.ru/yandsearch?rpt=rad&
text=fly+tv+2000 - DIRECT/213.180.204.11 text/html
уже исправил сам, но несколько иначе.
проблемы были глубже ;-(
при таком потоке инсталяций - лезет КУЧА особенностей ;-(
фиксим
Немного попарился.... потом закинул все в /apache/cgi-bin/lightsquid, в htdocs/lightsquid/ создал index.html с редиректом на скрипт, так по моему проще... никаких изменений в httpd.conf делать не надо. Потом... в squid.conf поправил - emulate_httpd_log сделал off, при on считает какую то непонятную байду, парсер с параметром today дает ошибку, вот в такой конфе он стал давать нормальную статистику...Удачи!
Есть какая-то проблема с emulate httpd log on. Парсит, ошибок нет, но лог файл нулевой и соответсвенно ERROR ! Log file empty. Поставил emulate httpd log off и все ок. Так и вопрос нельзя ли username читать из файла hosts?
>Есть какая-то проблема с emulate httpd log on. Парсит, ошибок нет, но
>лог файл нулевой и соответсвенно ERROR ! Log file empty. Поставил
>emulate httpd log off и все ок.
исправил, уже, в 1.5 будет ок.
Если не трудно добавте в
day_detail.cgi($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat("$daypath");
($sec_,$min_,$hour_,$mday_,$mon_,$year_,$wday_,$yday_,$isdst_)=localtime($mtime);
$workperiod .= " (update $hour_:$min_)";после строки
$workperiod="$day $MonthName[$month] $year";
>Если не трудно добавте в
>day_detail.cgi
спасибо, очень полезно, вставил
выйдет в 1.5
АВТОРУ :так что насчет вытягивания запросов поисковиков ? эта фича будет включена ? Просто интересно конечное мнение ..
>АВТОРУ :
>
>так что насчет вытягивания запросов поисковиков ? эта фича будет включена ?
>Просто интересно конечное мнение ..я пока играюсь с этой фичей, думаю ;-)))
шансы отличны от 0, но думаю не быстро
автору - спасибо и почтение!Версия 1.4.
Добавьте, пожалуйста, в install.txt, что при установке каталог reports нужно делать ручками. А то буду ставить 1.5 и снова забуду :)
вопрос 1: если сквид складывает лог без резолвинга адресов, вот так:
1114532998.152 2040 192.168.255.21 TCP_MISS/200 22455 GET http://www.kievstar.com.ua/index.php? - DIRECT/212.9.240.241 text/html
то парсер жалуется, что "host not found".
64 раза. Так должно быть?вопрос 2: мой access.log содержал записи за 3 суток.
в report/ появились каталоги
20050424
20050425
20050426при обработке старой статистики, как написано в install.txt,
получилось, что access.log.0, ...1, ...2,... стали дописываться к этим трем дням, а не создавать собственные.
Кажется, это не совсем то, что надо. Где может быть ошибка?с уважением...
>автору - спасибо и почтение!
>
>Версия 1.4.
>
>Добавьте, пожалуйста, в install.txt, что при установке каталог reports нужно делать ручками.
>А то буду ставить 1.5 и снова забуду :)
в иснтале была директория reports, я думал что народ просто все скопирует
допишу>то парсер жалуется, что "host not found".
>64 раза. Так должно быть?
нет, похоже в конифге выбран не simple версия ip2name
проверь конфиг.>вопрос 2: мой access.log содержал записи за 3 суток.
>в report/ появились каталоги>при обработке старой статистики, как написано в install.txt,
>получилось, что access.log.0, ...1, ...2,...
lightparser не ругаеться ??
файлы лежат там же где и access.log и имеют вид access.log.{digit}.gz ?>стали дописываться к этим трем дням, а не создавать собственные.
гм, точно добавляет ?
может он просто их скипает ?
>>парсер жалуется, что "host not found". 64 раза. Так должно быть?
>нет, похоже в конифге выбран не simple версия ip2name проверь конфиг.В конфиге оставлен по умолчанию, "more complex version"
>>при обработке старой статистики, как написано в install.txt,
>>получилось, что access.log.0, ...1, ...2,...
>lightparser не ругаеться ??парсер жалуется, что "host not found". 64 раза.
>файлы лежат там же где и access.log и имеют вид access.log.{digit}.gz ?
Нет, access.log.{digit}>>стали дописываться к этим трем дням, а не создавать собственные.
>гм, точно добавляет ? может он просто их скипает ?счетчики на страничке менялись в процессе обработки логов. в итоге за три дня накопилось 11 Гиг трафика. А у меня мопед на 115200 Кбит/с. :)
при всем желании стоко не съем.Еще:
При запуске через крон получаю сообщения вида:
Can't locate lightsquid.cfg in @INC (@INC contains: /usr/libdata/perl/5.00503/mach /usr/libdata/perl/5.00503 /usr/local/lib/perl5/site_perl/5.005/i386-freebsd /usr/local/lib/perl5/site_perl/5.005 .) at /usr/local/www/data/lightsquid/lightparser.pl line 22.
Как-то можно исключить из построения отчета определенные хосты? Например, если мне не нужна статистика для 192.168.100.1 ?
>Как-то можно исключить из построения отчета определенные хосты? Например, если мне не
>нужна статистика для 192.168.100.1 ?да, для этого в конфиге есть переменная
#if you want skip some sites from stat, example our local www server
#WARNING !!!, do not empty this variable !!!
$skipurl = "ccc\.com|192\.168\.1\.";
вам надо сделать
$skipurl = "192\.168\.100\.1";или так
$skipurl = "192\.168\.100\.";
для пропуск всей подсети
или через "|" разные урл
А есть ли ограничение на размер параметра $skipurl?
И можно ли организовать считывание этого фильтра из файла?
>>>парсер жалуется, что "host not found". 64 раза. Так должно быть?
>>нет, похоже в конифге выбран не simple версия ip2name проверь конфиг.
>В конфиге оставлен по умолчанию, "more complex version"
понятно, просто у тебя нет в системе утилиты host,
значит у тебя 64 ip разных в системе
попробуй версию 1.5 ...
там я по другому добываю имя хоста>
>>>при обработке старой статистики, как написано в install.txt,
>>>получилось, что access.log.0, ...1, ...2,...
>>lightparser не ругаеться ??
>
>парсер жалуется, что "host not found". 64 раза.
>
>>файлы лежат там же где и access.log и имеют вид access.log.{digit}.gz ?
>Нет, access.log.{digit}
не сжатые ?
тогда попробуй добавь такой блокif ($ARGV[0] =~ m/access\.log\.(\d)$/) {
$catname="cat";
$filename=$ARGV[0];
}
>
>счетчики на страничке менялись в процессе обработки логов. в итоге за три
>дня накопилось 11 Гиг трафика. А у меня мопед на 115200
>Кбит/с. :)
>при всем желании стоко не съем.
странно это, присылай логи ... ;-)
>
>Еще:
>При запуске через крон получаю сообщения вида:
в версии 1.5 должно работатьпопробуй дописать так
use File::Basename;
push (@INC,(fileparse($0))[1]);require "lightsquid.cfg";
моя аська - 16347594
стучи - вышлю бету 1.5там появилась локализация и всякая мелочь в ассортименте
Вышла версия 1.5.
много нового* Many changes, bug fixes and new features ....
* Localization support, now ready "Russian" & "English" lang files
* convert ip -> name, now more examples, more variants
* .bz2 & and other archive report support
* oversize reincarnation, now show how many user do it
* cache hit calculation
* additional report (whole month, whole year)
* show update time in day stat.
* TIME - user/site report, very useful, but disk usage increase ....
* you may hide unused report types
* now you can select hunder delimiter in config
* httpdlike log parser fix
* other bugfixes
* html code cleanup
* ...
* ...
* e.t.c
Спасибо автору, скачал последнюю версию 1.5, очень нравится! До этого пользовался саргом прожорливым до дискового пространства.
Устраивает в этой программе на данный момент все, очень и очень нравится. Лично мне не хватает исключения некоторых пользователей из отчета, например по IP пользователя. Может кто нибудь подскажет как это сделать?
Еще раз спасибо автору, отличный анализатор!
Перебрался c сарга под lightsquid и вот почему:
недавно попробовал Sarg 2.0.9 и заметил ошибается он, если второе поле в строке из access.log больше = семи символов, то он байтики из этой строчки не учитывает.
Попробовал ручками поставить еще один пробел(второй) между первым и вторым полем в таких строчках - байтики начал считать нормально, а вот время скачивания этих байтиков больше трех часов(с минутами) не показывает. :-((((
Почти месяц юзаю ligtsquid , в сети более тясячи компов-
"полет" отличный. Все просто, удобно, быстро, наглядно.
Автор просто молодца.!!!
ПОЖЕЛАНИЕ: очень нехватает месячного отчета по группам, там даже кнопочка "[grp]" просится рядом с "Total/Average:" :-)
Прибор должен работать не в принципе, а в корпусе. (с)народ
Спасибо на добром слове ;-)
в 1.6 появится group за месяц/год
думаю уже скоро
Решил попробовать - понравилось :)Возникло несколько вопросов и пожеланий:
1) Почему-то расхождение с саргом - к примеру сарu показывает 800 метров за день, и лайтсквид - 1 Гиг.
Почему ?
2) Зачем он каждай раз перестраивает все логи ? Это ведь занимает больше времени. Можно делать только текущий день, а наличие остальных дней проверять - и если есть - не делать.
3) Вывод не в байтах, а метрах к примеру ?
4) И ещё было бы супер смотреть отчёт за какой-нибудь месяц, и когда смотриш месяц или год - снизу строчку - сколько всего накачано за этот период.
Прошу прощения за свою нескромность ж)
второй вопрос вроде как отпадает - ключ today,
Эх, хорошую бы документацию :)
кстати средний cache hit считается неверно
я переделал скрипт так - ввел еще один стоблец в общий график
что то типа save inet
там вывожу сохраненный трафик и его суммирую
а средний кеш хит вычисляю из общего трафика и сохраненного суммированного - вот ;)
Использую LightSquid v1.5
Работает отлично , НО не могу добится разделения по группамПравлю файл group.cfg
admin 01 sysadmin
я так понимаю , что теперь если смотреть отчет по группам то должна появится группа sysadmin с одним пользователем admin
не работает ....почему?
разделители - табуляцияip2name - стоит у меня list
admin - данный id получаю через файл формата ip_пользователя - idможет группы при таком преобразовании не работают?
попробуй прописать ПОЛНЫЕ пути к файлам в функции open
>попробуй прописать ПОЛНЫЕ пути к файлам в функции open
проблема у меня была в том , что в reports копировался файл .group , но пустой
полные пути не помогли ....
решил проблему путем переноса sub CreateGroupFile из lightparser.cfg непосредственно в lightparser.plгруппы заработали
но осталась еще две проблеммы :
1. realname.cfg заполнен
но работает это избирательно : просмотр по группам - работает , итоговый трафик за месяц - работает , детализация за день - НЕ работает (day-detail.cgi)
почему - не могу понять , вроде сравнивал шаблоны и cgi , все один в один2. при просмотре статистики за месяц столбец Month не заполняется данными , там просто надпись ##MSG_USER_MONTH##
тоже самое на главной странице , там вверху над годами надпись ##MSG_CALENDAR##спасибо за ответы
Установил LightSquid, настроил запуск по cron'у - не отображаются реальные имена пользователей, те что указаны в realname.cfg. Если запускаю parser.pl вручную из под root, то все показывается как надо, при следующем запуске кроном, опять имена исчезают. В чем причина?
Проблема с группами... жаль что нет нормальной документации. ;)У меня на работе три сети. И я хочу сделать каждую сеть отдельно группой.
Не понял как это можно сделать. Юзаю v1.7.
>Проблема с группами... жаль что нет нормальной документации. ;)
>
>У меня на работе три сети. И я хочу сделать каждую сеть
>отдельно группой.
>Не понял как это можно сделать. Юзаю v1.7.
ну сетка у меня небольшая , потому с группами работаю такв lightsquid.cfg
$ip2name="list"в файле ip2name.list ссылаюсь на файл sarg.users который остался у меня от sarg
формат его прост : IP <пробел> имя компадалее для объединения в группы использую файл group.cfg формата
имя компа < TAB > ID группы < TAB > название группы
т.е. для объединения двух машин в одну группу прописываем две строки
komp1 01 gruppa1
komp2 01 gruppa1
>ну сетка у меня небольшая , потому с группами работаю так>komp1 01 gruppa1
>komp2 01 gruppa1Этот способ понятен и описан в доках.... но я не собираюсь так прописывать 200 компов...
:) Меня интересуют именно групы по сеткам.
Nickolay:
> основная проблема разработчиков - то что многие пишут софт под себя.
Дай разработчику денюжку - он и под тебя напишет.vizard:
> Добавьте, пожалуйста, в install.txt, что при установке каталог reports нужно делать ручками.
Не надо ручками. Надо чтобы при 'make install' оно создавалось автоматически.PS: Мне не нравится название "LightSquid" - оно ассоциируется как "HTTP-Proxy с урезанной функциональностью и, соответственно, с уменьшенными потребностями в ресурсах".
Здравствуйте, Сергей!Продукт хорош, слов нет. Жаль только, что нет в нем возможности (как в SARG, кстати) работать с разными конфигурационными файлами. У меня несколько шлюзов, несколько SQUID-ов, и, соответственно, несколько access.log файлов. А статистику по ним я получаю на обном компе, где и установлен lightsquid. И простого способа получить ее для всех шлюзов я не нашел. Обработка раздельных конфигов, думаю, такую проблему решила бы.
Еще раз спасибо за Вашь труд.
Народ! Помогите! Меня прога устраивает всем!
Но вот беда в упор не видит мои файлы
-rw-r----- 1 nobody nobody 1017889284 Dec 12 14:33 access.log
-rw-r----- 1 nobody nobody 5394295 Nov 18 12:03 access.log.0.gz
-rw-r--r-- 1 nobody nobody 2080981800 Nov 26 16:39 access.log.1
-rw-r--r-- 1 nobody nobody 2147483647 Nov 30 21:23 access.log.2
-rw-r--r-- 1 nobody nobody 805864647 Dec 4 12:21 access.log.3
-rw-r----- 1 nobody nobody 1891619448 Dec 7 04:02 access.log.4
-rw-r----- 1 nobody nobody 63273 Dec 12 13:20 cache.log
-rw-r--r-- 1 root nobody 6 Dec 12 11:46 squid.pid
Вернее access.log видит, а остальные почему-то в обработку не включает.
Скажите, что сделать надо, чтобы он их обработал?
Запуск по одному разу на файл не помогает, затирает информацию в днях ротации лога.
Не могу понять почему так происходит.
В начале дня LightSquid показывает нормальную статистику потом через некоторое время происходит сброс и статистика заново набирается. Соответственно она получается не правильной.
причем если принудительно делать lightparser.pl access.log-20070912.gz то статистика за этот день не востанавливаетя, остаются теже значения.
Очень признателен за ответ.(если они будут :)
>Не могу понять почему так происходит.
>В начале дня LightSquid показывает нормальную статистику потом через некоторое время происходит
>сброс и статистика заново набирается. Соответственно она получается не правильной.
>причем если принудительно делать lightparser.pl access.log-20070912.gz то статистика за этот день не
>востанавливаетя, остаются теже значения.
>Очень признателен за ответ.(если они будут :)скорее всего связано с ротацией логов. проверь ;)
А как сказать чтоыб он парсил за месяц? У меня почему-то только с 7 по 12 декабря и всё!!!
Кто знае, что делать, если при запуске lightsquid возникает ошибка?
Прошу помочь разобраться.Can't locate lightsquid.cfg in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 . /usr/local/www/apache22/cgi-bin/) at /usr/local/www/apache22/cgi-bin/index.cgi line 17.
Программа отличная, очень удобная и информативная! Автору - респект!вот только не пойму:
1)что такое cache hits? это процент сэкономленного squid'ом траффика?
2) что за последний столбец формируется в файле .total? сколько байт взято из кэша?растолкуйте пожалуйста!
Программа отличная, очень удобная и информативная! Автору - респект!вот только не пойму:
1)что такое cache hits? это процент сэкономленного squid'ом траффика?
2) что за последний столбец формируется в файле .total? сколько байт взято из кэша?растолкуйте пожалуйста!
Всем доброго времени суток!!! Скачал LightSquid, распаковал в /var/www/html/lightsquid, запустил...
захожу в браузер, а вместо отчетов, вижу содержимое каталог .../lightsquid
ось CentOS 6 x64