net-acct & NAT

LKr

Старожил
Ща проверил на 2.5.STABLE6 - все работает. Не очень удобно, но это поправимо.
 

aleks

Старожил
:shock: хе-хе... я понял почему он "не работает" :D
:arrow: http://www.squid-cache.org/mail-archive ... /0002.html

Для patch-aa очевидно следует делать:
Код:
./configure
Правим include/autoconf.h и добавляем туда
Код:
#define ACLOG
После этого
Код:
make

Сейчас проверю....
 

LKr

Старожил
aleks":1tx4kr95 сказал(а):
LKr":1tx4kr95 сказал(а):
Ща проверил на 2.5.STABLE6 - все работает. Не очень удобно, но это поправимо.
в смысле "не очень удобно"?

А кроме вышеперечисленного надо еще понять КУДА он пишет :)
ЗЫ: а главное - СКОЛЬКО :shock:
 

LKr

Старожил
aleks":1ilvvgh5 сказал(а):
так если с patch-aa... или он не в access.log пишет?

Surprise! :lol:

Патч-то маленький, прочитай его - там же все прозрачно...
Но вот даже если рез-т писать в access.log, парсилку все равно переделывать, т.к. формат чуть-чуть другой.
 

aleks

Старожил
Код:
squid -x /usr/local/squid/var/logs/access.fifo

Вывод:
patch-aa: (2 строки из 48430)
Код:
1093580481.288     42 127.0.0.1 TCP_MISS/200 4191 (+1448) ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/x-msvideo
1093580481.289     43 127.0.0.1 TCP_MISS/200 5639 (+1448) ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/x-msvideo
Код:
время response_time кто HTTP_result сколько ??? откуда IDENT как тип_MIME
что за функция поля "???"

access.log: (1 строка)
Код:
1093580573.328  92082 127.0.0.1 TCP_MISS/200 73261817 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/x-msvideo
Код:
время response_time кто HTTP_result сколько метод_запроса_HTTP откуда IDENT как тип_MIME
 

LKr

Старожил
Брррр... Подумай почему "сколько" второй строчки равно "сколько" первой строчки плюс "???" :)

Эти ??? и есть самое главное!!!
 

aleks

Старожил
LKr":2qyo7cbm сказал(а):
Брррр... Подумай почему "сколько" второй строчки равно "сколько" первой строчки плюс "???" :) Эти ??? и есть самое главное!!!
понял, арифметика :) сколько пришло :oops:
это бы надо в предыдущее поле писать, а в это поле как и положено, тогда и парсер менять не надо будет.
 

LKr

Старожил
aleks":3etuxld1 сказал(а):
LKr":3etuxld1 сказал(а):
Брррр... Подумай почему "сколько" второй строчки равно "сколько" первой строчки плюс "???" :) Эти ??? и есть самое главное!!!
понял, арифметика :) сколько пришло :oops: это бы надо в предыдущее поле писать, а в это поле как и положено, тогда и парсер менять не надо будет.

ну пойди вторым путем - поправь сам патчик...
а скобочки вообще выкини, чтоб парсер не смущали :)
ЗЫ: главное, чтобы его еще и fifo не смущало 8)
 

aleks

Старожил
LKr":fdn8esdt сказал(а):
а скобочки вообще выкини, чтоб парсер не смущали :) ЗЫ: главное, чтобы его еще и fifo не смущало 8)
скобки выкинуть это совсем просто :)
а чего смущать его fifo... это же cat access.fifo >access.out и файлик обычный. :roll: Тем более что squid-pb fifo и нужно!

до вечера сделаю.
 

LKr

Старожил
aleks":t1x4zs18 сказал(а):
скобки выкинуть это совсем просто :) а чего смущать его fifo... это же cat access.fifo >access.out и файлик обычный. :roll: Тем более что squid-pb fifo и нужно! до вечера сделаю.

там в другом собака порылась - если читать fifo вдруг перестанешь (ну читалка сломается и т.п.) - то трафик пойдет мимо...
 

aleks

Старожил
LKr":3pkysnhx сказал(а):
там в другом собака порылась - если читать fifo вдруг перестанешь (ну читалка сломается и т.п.) - то трафик пойдет мимо...
это понятно, но потом можно с реальным access.log сравнить....

Код:
access.fifo
1093613353.258     37 127.0.0.1 TCP_MISS/200 266 NONE ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg
1093613353.274     53 127.0.0.1 TCP_MISS/200 1024 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg
1093613353.275     54 127.0.0.1 TCP_MISS/200 1448 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg
1093613353.277     56 127.0.0.1 TCP_MISS/200 1448 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg
1093613353.279     58 127.0.0.1 TCP_MISS/200 1448 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg
.....................
1093613409.267  56046 127.0.0.1 TCP_MISS/200 1448 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg
1093613409.268  56047 127.0.0.1 TCP_MISS/200 1448 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg
1093613409.269  56048 127.0.0.1 TCP_MISS/200 1340 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg

access.log
1093613409.269  56048 127.0.0.1 TCP_MISS/200 39350542 GET ftp://testhost.gtn.ru/test.avi - DIRECT/10.2.12.** video/mpeg
в Excel импортировал, всё сошлось :D
Только вот почему NONE в первой строчке?
Сейчас patch-ab для patch-aa сделаю :)
 

aleks

Старожил
patch-ab for patch-aa
Код:
--- patch-aa.patch	2004-03-29 23:12:08.000000000 +0400
+++ patch-bb.patch	2004-08-28 10:17:22.000000000 +0400
@@ -12,14 +12,9 @@
  accessLogFormatName(const char *name)
  {
      if (NULL == name)
---- client_side.c.orig	Mon Sep 23 11:04:03 2002
-+++ client_side.c	Mon Mar 31 14:58:13 2003
-@@ -1,4 +1,3 @@
--
- /*
-  * $Id: client_side.c,v 1.561.2.20 2002/09/23 04:04:03 wessels Exp $
-  *
-@@ -2096,6 +2096,98 @@
+--- client_side.c.orig	Tue Jun 01 02:57:09 2004
++++ client_side.c	Sat Aug 28 09:24:44 2004
+@@ -2186,6 +2185,102 @@
  	kb_incr(&statCounter.client_http.kbytes_out, size);
  	if (isTcpHit(http->log_type))
  	    kb_incr(&statCounter.client_http.hit_kbytes_out, size);
@@ -43,6 +38,10 @@
 +
 +		if (http->entry)
 +			mem = http->entry->mem_obj;
++    		if (al->icp.opcode)
++		    al->private.method_str = icp_opcode_str[al->icp.opcode];
++		else
++		    al->private.method_str = RequestMethodStr[al->http.method];
 +    		if (http->out.size || http->log_type) {
 +			http->al.icp.opcode = ICP_INVALID;
 +			http->al.url = http->log_uri;
@@ -89,16 +88,16 @@
 +    			user = accessLogFormatName(al->cache.authuser ?
 +					al->cache.authuser : al->cache.rfc931);
 +    			n = snprintf(buf, sizeof buf, 
-+				"%9d.%03d %6d %s %s/%03d %ld (+%ld) "
++				"%9d.%03d %ld %s %s/%03d %ld %s "
 +				"%s %s %s%s/%s %s\n",
 +				(int) current_time.tv_sec, 
 +				(int) current_time.tv_usec / 1000,
-+				al->cache.msec,
++				(long int) al->cache.size,
 +				client,
 +				log_tags[al->cache.code],
 +				al->http.code,
-+				(long int) al->cache.size,
 +				size,
++				al->private.method_str,
 +				al->url,
 +				user && *user ? user : dash_str,
 +				al->hier.ping.timedout ? "TIMEOUT_" : "",

out:
Код:
timestamp last_transf_byte client_address result/status_codes transfer_size request_method URI client_identity peering_code/peerhost content_type
 

aleks

Старожил
Нет, без последующего переделывания парсера не обойтись :(
В случае пропуска записей будет неизвестно сколько пропущено.
Заменю "статистическое поле" response_time на текущую позицию, тогда можно будет контролировать...
:idea: первый NONE обозначим как фичу: новая закачка 8)
 
Верх