Newsgroup: it.comp.os.linux.sys
Titolo: Statistiche squid: cosa usate?

Da qualche mese sono passato da squid2 a squid3 nelle mie installazoni;
in precedenza usavo come analisi dei log calamaris, che ho continuato
ad usare per squid3.
Da una sede mi chiamano per problemi, guardo le statistiche di traffico
calamaris e non vedo nulla di strano, circa un giga di traffico al dì.
Insistono.
Passo alle statistiche ''grezze'' (ipac-ng e ntop) e vedo circa 10GB di
traffico/dì, di cui il 90% è HTTP, 90% generato dal proxy.
Il server proxy ha solo quello, non ha altri servizi.
Mi sta bene che tra statistiche del proxy e quelle grezze ci sia un po'
di differenza, ma il 900% mi pare tanto.
Le cose sono due: o calamaris prende cantonate, ma a questo punto mi
chiedo cosa posso usare.
Oppure per qualche motivo il traffico squid non viene contabilizzato
correttamente nei log.
L'unica cosa correlata mi sembra:
 
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=583730
che è stato girato upstream, ma essendo calamaris fermo al 2006
probabilmente è finito a /dev/null.
Ho provato senza convinzione a usare altri sistemi di analisi, ad
esempio sarg e webalizer, ma mi pare che diano numeri congruenti con
calamaris, e poi mica mi posso mettere a provare tutti questi!
 
http://www.squid-cache.org/Scripts/
Grazie.
-- 
  I segreti per restare a galla tu li conosci meglio di me.
  Ed e` per questo che non mi piaci
  e grazie al cielo io non piaccio a te			(F. De Gregori)

Il server proxy ha solo quello, non ha altri servizi.
Nel log di squid, quei 10 GB risultano?
Leonardo
-- 
Enough, enough!  But, stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!

Mandi! Leonardo Serni
  In chel dì si favelave...
LS> Nel log di squid, quei 10 GB risultano?
...e come faccio a saperlo, sto cercando uno strumento di analisi del
log proprio per quello! ;)
-- 
  We certainly would not want to have the same kind of democracy as they
  have in Iraq		(President Vladimir Putin, responding to U.S.
			 President George W. Bush's suggestion that Russia
			 should be more democratic, taken from NewsWeek)

log proprio per quello! ;)
Temporaneamente,
	tr -s " " "\t" < /var/log/squid/access.log | cut -f1-6 \
	> access.csv
ti trasforma molto velocemente il file di log in qualcosa di leggibile
da MySQL, in un formato come questo
	CREATE TABLE squid ( ts integer, ms integer,
		host varchar(16), status varchar(32),
		bytes integer, method varchar(9) );
usando LOAD DATA INFILE. Potresti riuscire a farlo direttamente, ma e'
MySQL-dependent, con:
	...cut -f1-6 | mysql dbname --execute="LOAD DATA LOCAL INFILE
'-' INTO TABLE squid;"
ma non garantisco.
Anyway, a quel punto il primo campo e' uno Unix timestamp, sicche' l'
intervallo dei tempi lo puoi calcolare.
I dati VERI di Squid (perche', perdiana, nel log di Squid ci sono per
definizione i dati veri) poi li accorpi in qualche modo
 select status, count(*), sum(bytes) as somma from squid group by status
	order by somma desc;
+----------------------------+----------+------------+
| status                     | count(*) | somma      |
+----------------------------+----------+------------+
| TCP_MISS/200               |    15922 | 2191767484 |
| TCP_MISS/206               |       51 |   31325715 |
| TCP_MEM_HIT/200            |     2540 |   24600640 |
| TCP_HIT/200                |      224 |   11928182 |
| TCP_REFRESH_UNMODIFIED/200 |      560 |    8812627 |
| TCP_REFRESH_MODIFIED/200   |      136 |    3451767 |
...
| TCP_MISS/501               |        1 |       1895 |
| TCP_MISS/303               |        1 |       1225 |
| TCP_MISS/000               |      243 |          0 |
| TCP_HIT/000                |        2 |          0 |
+----------------------------+----------+------------+
...e cerchi di capire da dove arrivano quei nove giga sovrannumerari.
Chennesò... magari è tutto traffico SSL su GMail (CONNECT).
select method, count(*) from squid group by method;
+----------+----------+
| method   | count(*) |
+----------+----------+
| CONNECT  |      513 | <--- din don!
| GET      |    27727 |
| HEAD     |       56 |
| OPTIONS  |       10 |
| POST     |      357 |
| PROPFIND |        6 |
| SOOKA    |        1 |
| PUT      |        1 |
+----------+----------+
7 rows in set (0.04 sec)


Mandi! Leonardo Serni
  In chel dì si favelave...
LS> ti trasforma molto velocemente il file di log in qualcosa di leggibile
LS> da MySQL, in un formato come questo
Mmmhh.... interessante. ;-)
LS> Chennesò... magari è tutto traffico SSL su GMail (CONNECT).
[...]
LS> | CONNECT  |      513 | <--- din don!
Ma scusa: CONNECT non solo non mi fa vedere ''dentro'' la connessione,
ovvio, ma non so neanche quanti dati vengono trasmessi?
Se è così, è certo che ho spiegato il buco... ;-(((
-- 
  We have joy, we have fun, we have Linux on our Sun.

ovvio, ma non so neanche quanti dati vengono trasmessi?
Si' che lo sai (ma lo logga *a connessione ferma*, e un CONNECT può
durare moooolto di più di un GET/POST/HEAD/...).
Tutto sta a vedere se vengono loggati correttamente (mi sono sempre
domandato cosa succede se la connessione rimane aperta ore e ore) e
se vengono conteggiati. Calamaris *dovrebbe* farlo, naturalmente...


MG> Se è così, è certo che ho spiegato il buco... ;-(((
Il problema era molto più semplice.
Ho dentro la configurazione di squid una bella riga:
	range_offset_limit -1
	quick_abort_min -1
	refresh_pattern \.windowsupdate\.com/.*\.(cab|exe|psf)  4320 100%    43200 reload-into-ims
che ha il drawbacks di tendere a scaricare la stessa patch dal sito
microsoft un po' di volte.
In questa benedetta sede, tutte le macchine o quasi sono ancora XP sp2.
Ho imparato che questo giochino funziona, ma per update piccoli... ;(((
-- 
  Sono i figli di quest'Italia, quest'Italia antifascista
  se cerchi casa non c'e` problema, basta conoscere un socialista
							(L. Barabarossa)