The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Sarg и неправильная статистика, !*! tolochanov, 10-Мрт-04, 13:52  [смотреть все]
Здравствуйте,
столкнулся с такой проблемой - есть сквид, на нем каждый месяц sarg отчеты генерит; недавно писал прогу для отрубания клиентов при превышении трафика, так случайно заметил, что ее результаты с sarg'ом не сходятся. Взял небольшой кусочек логов - вот результаты
sarg - 142646 байт
моя прога - 71504 байт
тупо взял калькулятор и поприбавлял - 71504 байт

Объясните, плз, кто прав, кто виноват.


10.10.12.51 - - [05/Mar/2004:13:35:00 +0000] "GET http://www.microsoft.com/isapi/redir.dll? HTTP/1.1" 200 362 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:04 +0000] "GET http://www.microsoft.com/isapi/redir.dll? HTTP/1.1" 200 362 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:06 +0000] "GET http://www.microsoft.com/isapi/redir.dll? HTTP/1.1" 0 0 TCP_MISS:NONE
10.10.12.51 - - [05/Mar/2004:13:35:06 +0000] "GET http://www.microsoft.com/isapi/redir.dll? HTTP/1.1" 0 0 TCP_MISS:NONE
10.10.12.51 - - [05/Mar/2004:13:35:07 +0000] "GET http://www.microsoft.com/isapi/redir.dll? HTTP/1.1" 302 522 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:09 +0000] "GET http://windowsupdate.microsoft.com/ HTTP/1.1" 304 336 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:09 +0000] "GET http://windowsupdate.microsoft.com/redirect.js HTTP/1.1" 304 270 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:11 +0000] "GET http://v4.windowsupdate.microsoft.com/default.asp HTTP/1.1" 302 410 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:12 +0000] "GET http://v4.windowsupdate.microsoft.com/en/default.asp HTTP/1.1" 200 8387 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:14 +0000] "GET http://v4.windowsupdate.microsoft.com/shared/js/redirect.js HTTP/1.1" 200 3829 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:15 +0000] "GET http://v4.windowsupdate.microsoft.com/shared/js/top.js HTTP/1.1" 200 22460 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:16 +0000] "GET http://v4.windowsupdate.microsoft.com/shared/js/top.vbs HTTP/1.1" 200 512 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:17 +0000] "GET http://v4.windowsupdate.microsoft.com/shared/js/survey.js? HTTP/1.1" 200 1155 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:18 +0000] "GET http://v4.windowsupdate.microsoft.com/en/toc.asp? HTTP/1.1" 200 7091 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:18 +0000] "GET http://v4.windowsupdate.microsoft.com/en/splash.asp? HTTP/1.1" 200 1851 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:18 +0000] "GET http://v4.windowsupdate.microsoft.com/shared/js/toc.js HTTP/1.1" 200 9539 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:19 +0000] "GET http://v4.windowsupdate.microsoft.com/shared/css/hcp.css HTTP/1.1" 304 269 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:19 +0000] "GET http://v4.windowsupdate.microsoft.com/shared/css/toc.css HTTP/1.1" 200 1565 TCP_MISS:DIRECT
10.10.12.51 - - [05/Mar/2004:13:35:20 +0000] "GET http://v4.windowsupdate.microsoft.com/shared/js/content.js HTTP/1.1" 200 12584 TCP_MISS:DIRECT

  • 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 спросил, но он меня уже наверное в
                        >ингнор лист кинул, чтоб не доставал :)

                        и на том спасибо :)




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру