SARG is een open source tool waarmee je de squid logbestanden kunt analyseren en mooie rapporten in HTML-indeling kunt genereren met informatie over gebruikers, IP-adressen, meest bezochte sites, totaal bandbreedtegebruik, verstreken tijd, downloads, toegang geweigerde websites, dagelijkse rapporten, wekelijkse rapporten en maandelijkse rapporten.
De SARG is een zeer handige tool om te bekijken hoeveel internetbandbreedte wordt gebruikt door individuele machines op het netwerk en kan controleren op welke websites de gebruikers van het netwerk toegang hebben.

In dit artikel zal ik je begeleiden bij het installeren en configureren van SARG – Squid Analysis Report Generator op RHEL/CentOS/Fedora en Debian/Ubuntu/Linux Mint-systemen.
Installatie van Sarg – Squid Log Analyzer in 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.
Belangrijk: Onthoud dat zonder de Squid– en DNS-configuratie, het geen zin heeft om sarg op het systeem te installeren, het zal helemaal niet werken. Dus, installeer ze eerst voordat je verder gaat met de installatie van Sarg.
Volg deze handleidingen om DNS en Squid te installeren in je Linux-systemen:
Installeer een Cache-Only DNS-server
- Installeer een Cache-Only DNS-server in RHEL/CentOS 7
- Installeer Cache Only DSN Server in RHEL/CentOS 6
- Installeer Cache Only DSN Server in Ubuntu en Debian
Installeer Squid als Transparante Proxy
- Instellen van Squid Transparante Proxy in Ubuntu en Debian
- Installeer Squid Cache Server op RHEL en CentOS
Stap 1: Sarg installeren vanuit broncode
De ‘sarg‘ pakket is standaard niet inbegrepen in RedHat gebaseerde distributies, dus we moeten het handmatig compileren en installeren vanuit de broncode. Hiervoor moeten enkele aanvullende pre-requisites pakketten op het systeem worden geïnstalleerd voordat we het vanuit de bron kunnen compileren.
Op RedHat/CentOS/Fedora
# yum install –y gcc gd gd-devel make perl-GD wget httpd
Zodra je alle benodigde pakketten hebt geïnstalleerd, download de nieuwste sarg broncode of je kunt de volgende wget opdracht gebruiken om het te downloaden en installeren zoals hieronder weergegeven.
# 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
Op Debian/Ubuntu/Linux Mint
Op op Debian gebaseerde distributies kan het sarg-pakket eenvoudig worden geïnstalleerd vanuit de standaard repositories met behulp van de apt-get-pakketbeheerder.
$ sudo apt-get install sarg
Stap 2: Sarg configureren
Het is nu tijd om enkele parameters te bewerken in het hoofdconfiguratiebestand van SARG. Het bestand bevat veel opties om te bewerken, maar we zullen alleen vereiste parameters bewerken zoals:
- Toegangslogboekenpad
- Uitvoermap
- Datumnotatie
- Rapport overschrijven voor dezelfde datum.
Open het bestand sarg.conf met uw keuze van editor en maak de wijzigingen zoals hieronder weergegeven.
# vi /usr/local/etc/sarg.conf [On RedHat based systems]
$ sudo nano /etc/sarg/sarg.conf [On Debian based systems]
Maak nu de opmerking ongedaan en voeg het oorspronkelijke pad toe aan uw squid toegangslogboek.
# sarg.conf # # TAG: access_log file # Where is the access.log file # sarg -l file # access_log /var/log/squid/access.log
Voeg vervolgens het juiste uitvoermap-pad toe om de gegenereerde squid-rapporten in die map op te slaan. Let op, onder op Debian gebaseerde distributies is de Apache webrootmap ‘/var/www‘. Wees dus voorzichtig bij het toevoegen van de juiste webroot-paden onder uw Linux-distributies.
# TAG: output_dir # The reports will be saved in that directory # sarg -o dir # output_dir /var/www/html/squid-reports
Stel de juiste datumnotatie in voor rapporten. Bijvoorbeeld, ‘date_format e‘ zal rapporten weergeven in ‘dd/mm/yy‘ formaat.
# TAG: date_format # Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww) # date_format e
Maak vervolgens de opmerking ongedaan en stel Overwrite report in op ‘Ja’.
# 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
Dat is alles! Sla het bestand op en sluit het.
Stap 3: Sarg-rapport genereren
Zodra u klaar bent met het configuratiegedeelte, is het tijd om het squid-logboekrapport te genereren met behulp van de volgende opdracht.
# sarg -x [On RedHat based systems]
# sudo sarg -x [On Debian based systems]
Voorbeelduitvoer
[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 ......
Opmerking: Het ‘sarg -x’ commando zal het ‘sarg.conf‘ configuratiebestand lezen en neemt het squid ‘access.log‘ pad en genereert een rapport in html-formaat.
Stap 4: Beoordeling van Sarg Rapport
De gegenereerde rapporten worden geplaatst onder ‘/var/www/html/squid-reports/‘ of ‘/var/www/squid-reports/‘ die toegankelijk zijn vanuit de webbrowser met het adres.
http://localhost/squid-reports OR http://ip-address/squid-reports
Sarg Hoofdvenster

Specifieke Datum

Gebruikersrapport

Meest Bezochte Sites

Top Sites en Gebruikers

Top Downloads

Geweigerde Toegang

Authenticatiefouten

Stap 5: Automatisch Genereren van Sarg Rapport
Om het proces van het genereren van sarg rapport in een bepaalde tijdsperiode te automatiseren via cron jobs. Bijvoorbeeld, laten we aannemen dat je rapporten op uurlijkse basis automatisch wilt genereren, om dit te doen, moet je een Cron job configureren.
# crontab -e
Vervolgens voeg je de volgende regel toe onderaan het bestand. Sla het op en sluit het.
* */1 * * * /usr/local/bin/sarg -x
De bovenstaande Cron regel zal elk SARG rapport genereren om de 1 uur.
Referentie Links
Dat is het met SARG! Ik zal nog enkele interessante artikelen over Linux schrijven, dus blijf TecMint.com volgen en vergeet niet om uw waardevolle opmerkingen toe te voegen.
Source:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/