- Sarg и неправильная статистика, slivarez, 18:23 , 10-Мрт-04 (1)
В свое время была такая же проблема, я щас про нее и забыл совсем... Верить надо своим глазам и калькулятору :) У меня тоже скрипт считал в два раза меньше чем сарг на махоньких логах, а на больших логах (метров 100-200), все сходится байт в байт. Попробуй скрипт и сарг на логе побольше, хотябы метров 5, и напиши чего получилось.
- Sarg и неправильная статистика, tolochanov, 18:49 , 10-Мрт-04 (2)
да в том то и дело, что на больших (несколько десятков метров), sarg начинает давать немного меньше, чем считает моя прога, т.е. получается, что sarg считает все что угодно, но только не логи....
- Sarg и неправильная статистика, slivarez, 10:49 , 11-Мрт-04 (3)
>да в том то и дело, что на больших (несколько десятков метров), >sarg начинает давать немного меньше, чем считает моя прога, т.е. получается, >что sarg считает все что угодно, но только не логи.... сарг считает нормально, просто считать своим скриптом трафик надо правильно (в логе надо учитывать не только "размер" но и "метод"). У меня есть подозрения, что ошибка/недосмотр в скрипте, покажи его.
- Sarg и неправильная статистика, tolochanov, 11:46 , 11-Мрт-04 (4)
вот она, я ее переделал с проги, к-ую нашел в инете, там формат логов был другой и интерфейс с postgre старенький есть, понятно, еще и вторая часть, к-ая блокировкой занимается, но она отношения к теме не имеетсамую суть я звездочками выделил #!/usr/bin/perl use strict; use DBI; my ($remotehost,$rfc931,$authuser,$date,$request,$status,$bytes,$resultcode); my ($sql, $type1, $type2); my $dbh = DBI->connect("dbi:Pg:dbname=squid;host=localhost","","", {PrintError => 0}); if ((defined $DBI::err) and ($DBI::err !=0)){ print $DBI::errstr."\n"; exit($DBI::err); } # Open squid log file generated by `squid -k rotate` open (FILE, "/var/log/squid/access.log") or die; while(<FILE>) { m/^(\S+)\s(\S+)\s(\S+)\s\[(\S+\s).+?\]\s\"(.+?)\"\s(\d+?)\s(\d+?)\s(\S+)$/; $remotehost = $1; # address of the remote host $rfc931 = $2; # remote logname of the user $authuser = $3; # the username as which the user has authenticated himself $date = $4; # date and time of the request $request = $5; # the request line exactly as it came from the client $status = $6; # the HTTP status code returned to the client $bytes = $7; # the content-length of the document transferred $resultcode = $8; # hierarchy code $request =~ s/ICP_QUERY/GET/; $request =~ s/\'//g; ($type1,$type2) = split (/:/,$resultcode); ********************************************************************* if ((($type1 eq 'TCP_MISS') or ($type1 eq 'TCP_REFRESH_MISS') or ($type1 eq 'TCP_CLIENT_REFRESH_MISS')) and ($request =~ /^GET/) and ($type2 ne 'NONE') and ($bytes != 0)) { ********************************************************************* $sql = "INSERT INTO squid VALUES ('$date','$remotehost','$bytes','$request','$rfc931')"; &sqlexec ($sql,$dbh); } } close (FILE); # delete temporary data in # ip_clients and auth_clients tables $sql = "delete from access_auth"; &sqlexec ($sql,$dbh); $sql = "delete from access_ip"; &sqlexec ($sql,$dbh); # fill in data of downloaded sizes $sql = "INSERT INTO access_auth SELECT ident, sum(size) FROM squid WHERE ident <> '-' GROUP BY ident"; &sqlexec ($sql,$dbh); $sql = "INSERT INTO access_ip SELECT host, sum(size) FROM squid WHERE ident = '-' GROUP BY host"; &sqlexec ($sql,$dbh); exit; # ----------------------------------------------------------- sub sqlexec { my ($sql,$dbh)=@_; my $sth = $dbh->prepare($sql); my $rv = $sth->execute(); if(!defined $rv) { print "Error while $sql\n"; print $dbh->errstr."\n"; exit; } }
- Sarg и неправильная статистика, slivarez, 12:24 , 11-Мрт-04 (5)
1) А какая разница в отчетах сарга и твоей проге? 2) /var/log/squid/access.log - закрытый лог или текущий и в него пишется инфа от сквида?
- Sarg и неправильная статистика, tolochanov, 13:25 , 11-Мрт-04 (6)
>1) А какая разница в отчетах сарга и твоей проге? >2) /var/log/squid/access.log - закрытый лог или текущий и в него пишется инфа >от сквида? 2) я все енто в виртуалке пробую, потому access.log, а не log.0 - но лог закрытый 1) я взял рабочий лог с 1 по сегодня, перенес на виртуалку к себе и вот результаты, сокращенные, конечно :)
Topsites Report Sites & Users Report IP SARG моя прога 10.10.12.31 216.709.813 214.528.720 10.10.10.27 164.415.952 146.586.835 10.10.10.1 162.916.739 95.694.362 тут должен заметить хитрую штуку 1. моя показывает меньше, чем сарг, хотя за прошлый полный месяц, моя показывала больше его 2. на 10.10.10.1 наблюдается тенденция удваивания логов саргом при небольшом трафике просто абалдеть :)
- Sarg и неправильная статистика, slivarez, 13:52 , 11-Мрт-04 (7)
>2) я все енто в виртуалке пробую, потому access.log, а не log.0 >- но лог закрытый >1) я взял рабочий лог с 1 по сегодня, перенес на виртуалку >к себе и вот результаты, сокращенные, конечно :) > >Topsites Report >Sites & Users Report > > IP > SARG > моя прога >10.10.12.31 216.709.813 214.528.720 >10.10.10.27 164.415.952 146.586.835 >10.10.10.1 162.916.739 95.694.362 > >тут должен заметить хитрую штуку >1. моя показывает меньше, чем сарг, хотя за прошлый полный месяц, моя >показывала больше его >2. на 10.10.10.1 наблюдается тенденция удваивания логов саргом при небольшом трафике >просто абалдеть :) Если твоя прога выдает меньше - так и должно быть, ты ж считаешь трафик не из кеша, а сарг - ВЕСЬ. Сравни со значением CACHE OUT в таблице сарговского отчета. А вот больше показывать не должна (хотя такое возможно на незакрытых логах сквида, я потому и спрашивал). Напиши сравнение Прога <> SARG_OUT_CACHE (из таблицы).
- Sarg и неправильная статистика, tolochanov, 14:18 , 11-Мрт-04 (8)
>Если твоя прога выдает меньше - так и должно быть, ты ж >считаешь трафик не из кеша, а сарг - ВЕСЬ. Сравни со >значением CACHE OUT в таблице сарговского отчета. А вот больше показывать >не должна (хотя такое возможно на незакрытых логах сквида, я потому >и спрашивал). >Напиши сравнение Прога <> SARG_OUT_CACHE (из таблицы).IP SARG моя прога cache_out result 10.10.12.31 216.709.813 214.528.720 99.19 214.954.463 10.10.10.27 164.415.952 146.586.835 89.58 147.283.810 10.10.10.1 162.916.739 95.694.362 97.56 158.941.570 расхождения есть, хотя они и незначительны (если не считать третью строчку) я щас попробую искусственно увеличить логи раз в 5-6 и еще раз крутану, если сарг на даты плеваться не будет
- Sarg и неправильная статистика, tolochanov, 15:33 , 11-Мрт-04 (9)
увеличил логи в 7 раз, та же картина - все пропорционально увеличилось, даже неправильный 10.10.10.1 в семь раз увеличилсяможет народ все же подправит сарг, чтоб маленькие логи тоже нормально считал
- Sarg и неправильная статистика, slivarez, 15:55 , 11-Мрт-04 (10)
>увеличил логи в 7 раз, та же картина - все пропорционально увеличилось, >даже неправильный 10.10.10.1 в семь раз увеличился > >может народ все же подправит сарг, чтоб маленькие логи тоже нормально считал >Подправить сарг не так то просто - поверь мне, я правил :) Тем более что понять, где грабли, очень трудно. Почему на махоньких логах он в 2 раза накручивает, а на больших все ОК?! Я б у Pedro спросил, но он меня уже наверное в ингнор лист кинул, чтоб не доставал :)
- Sarg и неправильная статистика, tolochanov, 16:07 , 11-Мрт-04 (11)
>>увеличил логи в 7 раз, та же картина - все пропорционально увеличилось, >>даже неправильный 10.10.10.1 в семь раз увеличился >> >>может народ все же подправит сарг, чтоб маленькие логи тоже нормально считал >> > >Подправить сарг не так то просто - поверь мне, я правил :) >Тем более что понять, где грабли, очень трудно. Почему на махоньких >логах он в 2 раза накручивает, а на больших все ОК?! >Я б у Pedro спросил, но он меня уже наверное в >ингнор лист кинул, чтоб не доставал :) и на том спасибо :)
|