Squid è un ottimo proxy server, per conoscere quali sono i domini più cliccati dai nostri utenti possiamo usare una linea di script bash. Ipotizziamo un formato di log del genere
1169028202.491 2456 192.168.1.1 TCP_MISS/200 9013 POST http://www.5t.torino.it/5t/it/percorsi – DIRECT/213.215.218.134 text/html
Contiamo (a occhio va bene) in che posizione si trova la entry relativa alla url richiesta. Il separatore che uso è lo spazio.
1) 1169028202.491
2) 2456
3) 192.168.1.1
4) TCP_MISS/200
5) 9013
6) POST
7) http://www.5t.torino.it/5t/it/percorsi
8) –
9) DIRECT/213.215.218.134
10) text/html
Con awk e la funzione split delimito solo il dominio, dopodichè uso il solito procedimento di ordinamento (sort) e conteggio numerico (uniq -c)
cat /var/log/squid/access.log | \\ awk '{ split($7,url,/\\//); print url[3] }' | \\ sort | uniq -c | sort -nr | less
Si ottiene la “classifica” domini per hits