./configure
#define ACLOG
make
в смысле "не очень удобно"?LKr":25jxzspa сказал(а):Ща проверил на 2.5.STABLE6 - все работает. Не очень удобно, но это поправимо.
aleks":1tx4kr95 сказал(а):в смысле "не очень удобно"?LKr":1tx4kr95 сказал(а):Ща проверил на 2.5.STABLE6 - все работает. Не очень удобно, но это поправимо.
aleks":ql0rz5u3 сказал(а):Я тут ещё лучше вроде как прогу нашёл http://pb.pils.ru/ ...
так если с patch-aa... или он не в access.log пишет?LKr":pabj0xig сказал(а):Она ж логи сквида парсит и не лишена недостатка с runtime logging...aleks":pabj0xig сказал(а):Я тут ещё лучше вроде как прогу нашёл http://pb.pils.ru/ ...
aleks":1ilvvgh5 сказал(а):так если с patch-aa... или он не в access.log пишет?
squid -x /usr/local/squid/var/logs/access.fifo
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
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":2qyo7cbm сказал(а):Брррр... Подумай почему "сколько" второй строчки равно "сколько" первой строчки плюс "???" :) Эти ??? и есть самое главное!!!
aleks":3etuxld1 сказал(а):понял, арифметика :) сколько пришло :oops: это бы надо в предыдущее поле писать, а в это поле как и положено, тогда и парсер менять не надо будет.LKr":3etuxld1 сказал(а):Брррр... Подумай почему "сколько" второй строчки равно "сколько" первой строчки плюс "???" :) Эти ??? и есть самое главное!!!
скобки выкинуть это совсем простоLKr":fdn8esdt сказал(а):а скобочки вообще выкини, чтоб парсер не смущали :) ЗЫ: главное, чтобы его еще и fifo не смущало 8)
aleks":t1x4zs18 сказал(а):скобки выкинуть это совсем просто :) а чего смущать его fifo... это же cat access.fifo >access.out и файлик обычный. :roll: Тем более что squid-pb fifo и нужно! до вечера сделаю.
это понятно, но потом можно с реальным access.log сравнить....LKr":3pkysnhx сказал(а):там в другом собака порылась - если читать fifo вдруг перестанешь (ну читалка сломается и т.п.) - то трафик пойдет мимо...
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
--- 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_" : "",
timestamp last_transf_byte client_address result/status_codes transfer_size request_method URI client_identity peering_code/peerhost content_type