SARG est un outil open source qui vous permet d’analyser les fichiers journaux de Squid et de générer de beaux rapports au format HTML avec des informations sur les utilisateurs, les adresses IP, les sites les plus consultés, l’utilisation totale de la bande passante, le temps écoulé, les téléchargements, les sites web auxquels l’accès est refusé, les rapports quotidiens, hebdomadaires et mensuels.
Le SARG est un outil très pratique pour visualiser la quantité de bande passante Internet utilisée par chaque machine sur le réseau et pour surveiller les sites web auxquels les utilisateurs du réseau accèdent.

Dans cet article, je vous guiderai sur la manière d’installer et de configurer SARG – Générateur de rapports d’analyse Squid sur les systèmes RHEL/CentOS/Fedora et Debian/Ubuntu/Linux Mint.
Installer Sarg – Analyseur de journaux Squid sous Linux
I assume that you already installed, configured and tested Squid server as a transparent proxy and DNS for the name resolution in caching mode. If not, please install and configure them first before moving further installation of Sarg.
Important: Veuillez vous rappeler qu’il est inutile d’installer SARG sur le système sans la configuration de Squid et de DNS. Il ne fonctionnera pas du tout. Il est donc demandé de les installer d’abord avant de procéder à l’installation de Sarg.
Suivez ces guides pour installer DNS et Squid sur vos systèmes Linux :
Installer un serveur DNS en cache
- Installer un serveur DNS en cache uniquement dans RHEL/CentOS 7
- Installer le serveur DNS Cache Only sur RHEL/CentOS 6
- Installer le serveur DNS Cache Only sur Ubuntu et Debian
Installer Squid en tant que proxy transparent
- Configuration du proxy transparent Squid sous Ubuntu et Debian
- Installer le serveur de cache Squid sur RHEL et CentOS
Étape 1 : Installation de Sarg à partir de la source
Le paquet ‘sarg‘ n’est pas inclus par défaut dans les distributions basées sur RedHat, donc nous devons le compiler et l’installer manuellement à partir de l’archive source. Pour cela, nous avons besoin de quelques paquets prérequis supplémentaires à installer sur le système avant de le compiler à partir de la source.
Sous RedHat/CentOS/Fedora
# yum install –y gcc gd gd-devel make perl-GD wget httpd
Une fois que vous avez installé tous les paquets requis, téléchargez la dernière archive source de Sarg ou vous pouvez utiliser la commande wget suivante pour le télécharger et l’installer comme indiqué ci-dessous.
# wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.10/sarg-2.3.10.tar.gz # tar -xvzf sarg-2.3.10.tar.gz # cd sarg-2.3.10 # ./configure # make # make install
Sous Debian/Ubuntu/Linux Mint
Sur les distributions basées sur Debian, le paquet sarg peut être facilement installé depuis les dépôts par défaut en utilisant le gestionnaire de paquets apt-get.
$ sudo apt-get install sarg
Étape 2: Configuration de Sarg
Il est maintenant temps de modifier certains paramètres dans le fichier de configuration principal de SARG. Le fichier contient de nombreuses options à modifier, mais nous ne modifierons que les paramètres requis tels que:
- Chemin des journaux d’accès
- Répertoire de sortie
- Format de date
- Écraser le rapport pour la même date.
Ouvrez le fichier sarg.conf avec votre éditeur de choix et apportez les modifications comme indiqué ci-dessous.
# vi /usr/local/etc/sarg.conf [On RedHat based systems]
$ sudo nano /etc/sarg/sarg.conf [On Debian based systems]
Décommentez maintenant et ajoutez le chemin d’accès original à votre fichier de journal d’accès squid.
# sarg.conf # # TAG: access_log file # Where is the access.log file # sarg -l file # access_log /var/log/squid/access.log
Ensuite, ajoutez le bon chemin du répertoire de sortie pour enregistrer les rapports squid générés dans ce répertoire. Veuillez noter que sous les distributions basées sur Debian, le répertoire racine du serveur web Apache est ‘/var/www‘. Veillez donc à ajouter correctement les chemins racine du serveur web sous vos distributions Linux.
# TAG: output_dir # The reports will be saved in that directory # sarg -o dir # output_dir /var/www/html/squid-reports
Définissez le format de date correct pour les rapports. Par exemple, ‘format_date e‘ affichera les rapports au format ‘jj/mm/aa‘.
# TAG: date_format # Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww) # date_format e
Ensuite, décommentez et définissez Écraser le rapport sur ‘Oui’.
# TAG: overwrite_report yes|no # yes - if report date already exist then will be overwritten. # no - if report date already exist then will be renamed to filename.n, filename.n+1 # overwrite_report yes
C’est tout ! Enregistrez et fermez le fichier.
Étape 3: Génération du rapport Sarg
Une fois la partie configuration terminée, il est temps de générer le rapport de journal squid en utilisant la commande suivante.
# sarg -x [On RedHat based systems]
# sudo sarg -x [On Debian based systems]
Sortie d’exemple
[root@localhost squid]# sarg -x SARG: Init SARG: Loading configuration from /usr/local/etc/sarg.conf SARG: Deleting temporary directory "/tmp/sarg" SARG: Parameters: SARG: Hostname or IP address (-a) = SARG: Useragent log (-b) = SARG: Exclude file (-c) = SARG: Date from-until (-d) = SARG: Email address to send reports (-e) = SARG: Config file (-f) = /usr/local/etc/sarg.conf SARG: Date format (-g) = USA (mm/dd/yyyy) SARG: IP report (-i) = No SARG: Keep temporary files (-k) = No SARG: Input log (-l) = /var/log/squid/access.log SARG: Resolve IP Address (-n) = No SARG: Output dir (-o) = /var/www/html/squid-reports/ SARG: Use Ip Address instead of userid (-p) = No SARG: Accessed site (-s) = SARG: Time (-t) = SARG: User (-u) = SARG: Temporary dir (-w) = /tmp/sarg SARG: Debug messages (-x) = Yes SARG: Process messages (-z) = No SARG: Previous reports to keep (--lastlog) = 0 SARG: SARG: sarg version: 2.3.7 May-30-2013 SARG: Reading access log file: /var/log/squid/access.log SARG: Records in file: 355859, reading: 100.00% SARG: Records read: 355859, written: 355859, excluded: 0 SARG: Squid log format SARG: Period: 2014 Jan 21 SARG: Sorting log /tmp/sarg/172_16_16_55.user_unsort ......
Note: La commande ‘sarg -x’ lira le fichier de configuration ‘sarg.conf‘ et prendra le chemin du fichier ‘access.log‘ de squid pour générer un rapport au format html.
Étape 4: Évaluation du rapport Sarg
Les rapports générés sont placés sous ‘/var/www/html/squid-reports/‘ ou ‘/var/www/squid-reports/‘ qui peuvent être consultés depuis le navigateur en utilisant l’adresse.
http://localhost/squid-reports OR http://ip-address/squid-reports
Fenêtre Principale de Sarg

Date Spécifique

Rapport Utilisateur

Sites les Plus Consultés

Sites et Utilisateurs Principaux

Téléchargements Principaux

Accès Refusés

Échecs d’Authentification

Étape 5: Génération Automatique du Rapport Sarg
Pour automatiser le processus de génération du rapport sarg dans un laps de temps donné via des jobs cron. Par exemple, supposons que vous vouliez générer des rapports de manière horaire automatiquement, pour ce faire, vous devez configurer un job Cron.
# crontab -e
Ensuite, ajoutez la ligne suivante en bas du fichier. Enregistrez et fermez-le.
* */1 * * * /usr/local/bin/sarg -x
La règle Cron ci-dessus générera un rapport SARG toutes les 1 heure.
Liens de Référence
C’est tout avec SARG ! Je vais publier quelques articles plus intéressants sur Linux, d’ici là, restez à l’écoute sur TecMint.com et n’oubliez pas d’ajouter vos précieux commentaires.
Source:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/