Analyser (synthétiser) ses logs de proxy Squid

closeCet article a été publié il y a 17 ans 1 jour, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Je voulais avoir, par curiosité, un top ten des sites visités par « mes » utilisateurs de tunnels SSH et de proxy Squid. Inutile, voyeur, et donc indispensable.
Bon, dans un contexte professionnel, ça pourrait être utile, j’admets, surtout avec des utilisateurs signés sur le proxy.

J’ai donc trouvé l’outil SARG (apt-get install sarg), je l’ai installé, paramétré et j’ai attendu le cron.daily du matin pour obtenir un premier rapport Web. Que dalle. Juste un mail de crontab me disant « no entry found in squid/access.log » (quelque chose dans ce goût là).
En effet, le packaging de l’outil SARG pose un problème : les logs squid sont analysés par SARG après la rotation quotidienne des logs Squid. Donc pas de log Squid, pas de rapport, pas de voyeurisme. Les boules !

Je vais donc décrire comment paramétrer grossièrement SARG et puis comment le faire tourner avant « logrotate ».

Au fait, c’est peut-être un bug, dans ce cas un jour ce sera corrigé. Moi j’ai constaté la chose avec SARG 2.2.3.1-1. J’ai posé la question au mainteneur du paquet. On verra bien.

Le gros du paramétrage se situe dans /etc/squid/sarg.conf. J’ai extrait ci-dessous les paramètres les plus importants pour bien démarrer. Dans le fichier de conf, chaque paramètre est explicité, c’est pratique :

madebian:/etc/squid# egrep -v "^$|^#" sarg.conf | j_enleve_ce_qui_est_inutile
language French
access_log /var/log/squid/access.log
graphs yes
graph_days_bytes_bar_color orange
title "Squid User Access Reports"
temporary_dir /tmp
output_dir /var/www/squid-reports
resolve_ip yes
exclude_users /etc/squid/sarg.users
exclude_hosts /etc/squid/sarg.hosts
date_format e
index yes
index_tree file
mail_utility mailx
charset Latin1

Ensuite, le coup de la rotation des logs qui arrive trop tôt, c’est du fait de l’ordre alphabétique, le script « logrotate » dans le répertoire /etc/cron.daily/ arrive avant le script « sarg ». Ruse de sioux :

mv /etc/cron.daily/sarg /etc/cron.daily/01sarg

J’ai pas voulu mettre le script « sarg » avant le script « 00logwatch », ça m’a l’air mauvais comme idée.

Et le lendemain matin, à l’heure de votre cron.daily, à vous les rapports SARG.

3 comments

  1. Sinon un pote qui a la flemme de s’enregistrer sur le blog me disait : tu utilises /var/log/squid/access.log.1 dans la conf de SARG et hop, plus de problème de rotation de log trop tôt.
    Tiens, pas con ça 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.