SARG – Squid Analysis Report Generator en internetbandbreedtebewakingstool

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.

Install Sarg Squid Log Analyzer in Linux

In dit artikel zal ik je begeleiden bij het installeren en configureren van SARGSquid 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
  1. Installeer een Cache-Only DNS-server in RHEL/CentOS 7
  2. Installeer Cache Only DSN Server in RHEL/CentOS 6
  3. Installeer Cache Only DSN Server in Ubuntu en Debian
Installeer Squid als Transparante Proxy
  1. Instellen van Squid Transparante Proxy in Ubuntu en Debian
  2. 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:

  1. Toegangslogboekenpad
  2. Uitvoermap
  3. Datumnotatie
  4. 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
Sarg Main Window
Specifieke Datum
Date Wise Report
Gebruikersrapport
User Bandwidth Report
Meest Bezochte Sites
Top Accessed Sites
Top Sites en Gebruikers
Top Accessed Sites and Users
Top Downloads
Top Downloads
Geweigerde Toegang
Denied Access Sites
Authenticatiefouten
Proxy Authentication Failures

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

Sarg Homepage

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/