SARG ist ein Open-Source-Tool, das es Ihnen ermöglicht, die Squid-Protokolldateien zu analysieren und schöne Berichte im HTML-Format mit Informationen über Benutzer, IP-Adressen, am häufigsten aufgerufene Websites, Gesamtdatenverkehr, vergangene Zeit, Downloads, Zugriff auf gesperrte Websites, tägliche Berichte, wöchentliche Berichte und monatliche Berichte zu generieren.
Das SARG ist ein sehr praktisches Werkzeug, um zu sehen, wie viel Internet-Bandbreite von einzelnen Maschinen im Netzwerk genutzt wird und um zu überwachen, auf welche Websites die Benutzer des Netzwerks zugreifen.

In diesem Artikel werde ich Sie durch die Installation und Konfiguration von SARG – Squid Analysis Report Generator auf RHEL/CentOS/Fedora und Debian/Ubuntu/Linux Mint Systemen führen.
Installation von 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.
Wichtig: Bitte denken Sie daran, dass ohne die Squid– und DNS-Konfiguration die Installation von Sarg auf dem System überhaupt nicht funktioniert. Es wird also dringend empfohlen, diese zuerst zu installieren, bevor Sie mit der Sarg-Installation fortfahren.
Befolgen Sie diese Anleitungen, um DNS und Squid in Ihren Linux-Systemen zu installieren:
Installieren Sie einen Cache-Only DNS-Server
- Installieren Sie einen Cache-Only DNS-Server in RHEL/CentOS 7
- Installieren Sie den Cache-Only-DNS-Server in RHEL/CentOS 6
- Installieren Sie den Cache-Only-DNS-Server in Ubuntu und Debian
Installieren Sie Squid als transparenten Proxy
- Einrichten eines transparenten Squid-Proxys in Ubuntu und Debian
- Installieren Sie den Squid-Cache-Server auf RHEL und CentOS
Schritt 1: Installation von Sarg aus der Quelle
Das Paket ‚sarg‚ ist standardmäßig nicht in auf RedHat basierenden Distributionen enthalten, daher müssen wir es manuell aus der Quell-Tarball kompilieren und installieren. Dafür müssen einige zusätzliche Voraussetzungspakete auf dem System installiert werden, bevor wir es aus der Quelle kompilieren können.
Auf RedHat/CentOS/Fedora
# yum install –y gcc gd gd-devel make perl-GD wget httpd
Nachdem Sie alle erforderlichen Pakete installiert haben, laden Sie den neuesten Sarg-Quell-Tarball herunter oder verwenden Sie den folgenden wget-Befehl, um ihn wie unten gezeigt herunterzuladen und zu installieren.
# 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
Auf Debian/Ubuntu/Linux Mint
Auf Debian-basierten Distributionen kann das Paket sarg einfach aus den Standard-Repositorys mithilfe des Paketmanagers apt-get installiert werden.
$ sudo apt-get install sarg
Schritt 2: Konfigurieren von Sarg
Jetzt ist es an der Zeit, einige Parameter in der Hauptkonfigurationsdatei von SARG zu bearbeiten. Die Datei enthält viele Optionen zum Bearbeiten, aber wir werden nur erforderliche Parameter wie folgt bearbeiten:
- Zugriffs-Log-Pfad
- Ausgabeverzeichnis
- Datumsformat
- Bericht für das gleiche Datum überschreiben.
Öffnen Sie die Datei sarg.conf mit Ihrem bevorzugten Editor und nehmen Sie die unten gezeigten Änderungen vor.
# vi /usr/local/etc/sarg.conf [On RedHat based systems]
$ sudo nano /etc/sarg/sarg.conf [On Debian based systems]
Entkommentieren und fügen Sie den ursprünglichen Pfad zu Ihrer Squid-Zugriffslogdatei hinzu.
# sarg.conf # # TAG: access_log file # Where is the access.log file # sarg -l file # access_log /var/log/squid/access.log
Fügen Sie als Nächstes den korrekten Pfad zum Ausgabeverzeichnis hinzu, um die generierten Squid-Berichte in diesem Verzeichnis zu speichern. Bitte beachten Sie, dass unter Debian-basierten Distributionen das Verzeichnis des Apache-Web-Roots ‚/var/www‚ ist. Seien Sie also vorsichtig, wenn Sie korrekte Web-Root-Pfade unter Ihren Linux-Distributionen hinzufügen.
# TAG: output_dir # The reports will be saved in that directory # sarg -o dir # output_dir /var/www/html/squid-reports
Legen Sie das korrekte Datumsformat für die Berichte fest. Zum Beispiel wird ‚date_format e‘ Berichte im Format ‚dd/mm/yy‚ anzeigen.
# TAG: date_format # Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww) # date_format e
Entkommentieren Sie als Nächstes und setzen Sie das Überschreiben des Berichts auf ‚Ja‘Yes‘.
# 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
Das war’s! Speichern und schließen Sie die Datei.
Schritt 3: Generieren des Sarg-Berichts
Nachdem Sie den Konfigurationsteil abgeschlossen haben, ist es an der Zeit, den Squid-Log-Bericht mithilfe des folgenden Befehls zu generieren.
# sarg -x [On RedHat based systems]
# sudo sarg -x [On Debian based systems]
Beispielausgabe
[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 ......
Hinweis: Der Befehl „sarg -x“ liest die Konfigurationsdatei „sarg.conf“ und nimmt den Pfad zur Squid-„access.log“ und generiert einen Bericht im HTML-Format.
Schritt 4: Bewertung des Sarg-Berichts
Die generierten Berichte werden unter „/var/www/html/squid-reports/“ oder „/var/www/squid-reports/“ abgelegt und können über den Webbrowser unter der entsprechenden Adresse aufgerufen werden.
http://localhost/squid-reports OR http://ip-address/squid-reports
Sarg-Hauptfenster

Bestimmtes Datum

Benutzerbericht

Häufig besuchte Websites

Top-Websites und Benutzer

Top-Downloads

Verweigerter Zugriff

Authentifizierungsfehler

Schritt 5: Automatische Generierung von Sarg-Berichten
Um den Prozess der automatischen Generierung von Sarg-Berichten in einem bestimmten Zeitraum über Cron-Jobs zu automatisieren. Angenommen, Sie möchten zum Beispiel Berichte im Stundentakt automatisch generieren, müssen Sie einen Cron-Job konfigurieren.
# crontab -e
Fügen Sie anschließend die folgende Zeile am Ende der Datei hinzu. Speichern und schließen Sie sie.
* */1 * * * /usr/local/bin/sarg -x
Die obige Cron-Regel generiert alle 1 Stunde einen SARG-Bericht.
Referenzlinks
Das war es mit SARG! Ich werde in Kürze weitere interessante Artikel über Linux veröffentlichen. Bleibt also dran auf TecMint.com und vergesst nicht, eure wertvollen Kommentare hinzuzufügen.
Source:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/