Abbiamo già visto che Squid utilizza diversi files di logs di cui quattro sono i file di log principali, questi vengono definiti dai seguenti TAG
il TAG cache_access_log
cache_access_log /usr/local/squid/var/logs/access.log |
nel file access.log vengono registrate tutte le transazioni effettuate dai client
il TAG cache_log
cache_log /usr/local/squid/var/logs/cache.log |
nel file cache.log vengono registrate tutte le informazioni sullo stato della cache, ne analizzeremo i dettagli in seguito
il TAG cache_store_log
cache_store_log /usr/local/squid/var/logs/store.log |
nel file store.log vengono registrate tutte le attività eseguite dallo storage manager di Squid
il TAG cache_swap_log
cache_swap_log /usr/local/squid/var/cache/swap.state |
nel file swap.state viene memorizzato il file di log dello swap, si tratta di un file binario che include un checksum MD5 e che contiene i campi dello store entry. Non è necessario indicarlo in squid.conf in quanto verrà scritto automaticamente nella top level directory della cache_dir.
Possiamo anche definire il formato dei files di logs che può essere suddiviso in file di log nativi ed in file di log che emulano lo schema transazionale di un server web. Naturalmente le informazioni più importanti sullo stato di servizio della cache vengono memorizzate nel file cache.log, mentre il file dal quale riusciremo ad estrapolare il maggior numero di informazioni sul funzionamento del servizio di web cache è senza dubbio il file access.log. Ora analizziamo nel dettaglio il formato del file access.log
(1)1049790275.517(2)880(3)192.168.5.12(4)TCP_MISS \ (5)20012689(6)GET (7)ftp://it.samba.org/pub/samba \ (8)Federico DIRECT/(9)217.56.103.6 (10) text/html |
come possiamo notare vi sono ben 10 campi, questi campi vengono identificati utilizzando dei valori numerici, nello specifico di seguito ne forniamo il dettaglio
TimeStamp
è il momento in cui la richiesta diretta verso il sistema di cache è stata processata, da notare che il formato è "UNIX® Time" con la risoluzione in millisecondi
Elapsed Time
il tempo necessario per processare la richiesta, il tempo viene espresso in millisecondi
Client Address
determina l'indirizzo IP sorgente della richiesta
Log Tag/HTTP Code
si tratta dell'azione intrapresa da Squid in base alla richiesta (hit, miss, denied)
Size
la quantità di byte inviati al Client
Request Method
determina il metodo HTTP che viene utilizzato per soddisfare la richiesta (GET, POST)
URL
l'indirizzo internet del sito web richiesto dal client
Ident
determina l'utente o l'identificativo del client che ha richiesto il servizio
Hierarchy Data / Hostname
identifica come e dove la richiesta è stata processata
Content Type
come da RFC viene riportato il campo Content-Type dell'header HTTP
Naturalmente appare chiaro che con un pò di comandi shell UNIX® o perl scripting si può tirar fuori molto più di quello di cui abbiamo bisogno da questo file di log.