Afin de pouvoir communiquer à son administrateur, Squid détaille dans des fichiers de log ses activités. Nous avons indiqué dans le chapitre précédent que ces log était lisible mais difficilement exploitable par un administrateur sans outils adapté. Voyons quel en est la cause en détaillant le format des log CLF ou le format de log natif de Squid.
Ce format est composé, pour chaque requête d'un client des champs suivants :
remotehost rfc931 [date] "method URL" status bytes
remotehost : l'adresse IP ou le nom de la machine émettrice de la requête ;
rfc931 : le nom de login de l'utilisateur distant ;
date : la date de la requête ;
method URL : la requête elle même composé par la méthode HTTP (GET, POST, ...) et l'URL demandée par le client ;
status : status HTTP de la réponse à la demande (200 pour ok, 403 pour forbiden...);
bytes : le nombre d'octets transmis pour cette requête.
Ce format est composé, pour chaque requête d'un client des champs suivants :
time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost
time : la date de la requête ;
elapsed : temps de traitement de la demande du client ;
remotehost : l'adresse IP ou le nom de la machine émettrice de la requête ;
code/status : le code est le résultat de la demande au cache (MISS ou HIT pour une réussite ou un échec) et le status HTTP de la requête ;
bytes : le nombre d'octets transmis pour cette requête ;
method URL : la méthode HTTP utilisée par le client (GET, POST, ...) et l'URL demandée par le client ;
rfc931 : le nom de login de l'utilisateur distant ;
peerstatus/peerhost : perrstatus est un code représentant comment le requête à été transmise à un cache voisin, peerhost représente l'host vers lequels la requête à été relayée ;
La taille de ce type de fichier de log croît extrêmement vite. Il y a alors un danger de saturation d'espace disque si aucune action n'est automatisée sur le serveur afin d'empêcher un tel phénomène (d'autant plus embêtant si c'est la partition /var qui est pleine).
Un administrateur conscentieux pourra alors écrire quelques scripts qui seront entré dans le crontab afin d'être éxecuté aux dates voulues (chaque mois, semaine, jour, ...). Ces scripts pourront alors par exemple provoquer une rotation des log, compresser et sauvegarder les anciennes logs sur un autre serveur, créer les page de statistiques de ces log et effacer les anciennes log sur le proxy/cache.
Comme expliqué dans un chapitre précédent, les logs de Squid se trouvent par défaut dans le répertoires etc/ du répertoire source de l'installation de Squid.