So installierst du GoAccess Log Analyzer unter Ubuntu 24.04

GoAccess ist ein Echtzeit-Web-Log-Analysator für Unix-ähnliche Systeme, einschließlich Ubuntu. Es bietet eine effiziente und benutzerfreundliche Möglichkeit, Webserver-Logs zu visualisieren und zu analysieren und unterstützt verschiedene Formate wie Apache-, Nginx- und Amazon S3-Logs. GoAccess kann im Terminal oder als webbasierte Schnittstelle ausgeführt werden und bietet dynamische Berichte mit wichtigen Kennzahlen wie Besucherzahlen, Anfragedetails, geografische Standorte und verweisende Seiten. GoAccess wird für seine Schnelligkeit, Interaktivität und umfassenden Einblicke geschätzt, was es zu einem wertvollen Werkzeug für Systemadministratoren und Entwickler macht, die die Webserverleistung auf Ubuntu-Systemen überwachen und optimieren wollen.

In dieser Anleitung erfährst du, wie du GoAccess Log Analyzer auf einem Ubuntu 24.04 Server installierst.

Voraussetzungen

Bevor du beginnst, solltest du sicherstellen, dass du Folgendes hast:

  • Einen Ubuntu 24.04 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen installierten Webserver Apache/Nginx.

Installation von GoAccess mit APT

GoAccess Log Analyzer kann auf zwei verschiedene Arten installiert werden: über den Paketmanager oder manuell über den Quellcode. In diesem Abschnitt erfährst du, wie du GoAccess unter Ubuntu mit dem APT-Paketmanager installierst.

Führe zunächst den folgenden Befehl aus, um den GPG-Schlüssel für das GoAccess-Repository hinzuzufügen.

wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null

Füge das GoAccess-Repository für Ubuntu/Debian-basierte Distributionen mit folgendem Befehl hinzu.

echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list

Als Nächstes führst du den folgenden „apt“-Befehl aus, um deinen Ubuntu-Paketindex zu aktualisieren und„goaccess“ zu installieren. Gib„Y“ ein, um die Installation zu bestätigen.

sudo apt update && sudo apt install goaccess

Repo hinzufügen Update instakk

Nachdem die Installation abgeschlossen ist, suche die„goaccess„-Binärdatei und prüfe die„goaccess„-Version mit dem folgenden Befehl:

which goaccess
goaccess --version

Wie du unten sehen kannst, ist GoAccess 1.9.3 im Verzeichnis„/usr/bin/goaccess“ installiert.

goaccess prüfen

Installation von GoAccess aus dem Quellcode

Wenn du GoAccess manuell aus dem Quellcode bauen willst, kannst du die folgenden Schritte ausführen:

Bevor du GoAccess kompilierst, führe den folgenden „apt“-Befehl aus, um die Paketabhängigkeiten zu installieren.

sudo apt install libncursesw5-dev libgeoip-dev libtokyocabinet-dev build-essential

deps installieren

Besuche die GoAccess-Downloadseite, wähle den Link für die neueste Version und lade dann den GoAccess-Quellcode herunter und entpacke ihn mit dem Befehl „tar“.

wget https://tar.goaccess.io/goaccess-1.9.3.tar.gz
tar -xzvf goaccess-1.9.3.tar.gz

Wechsle in das Verzeichnis„goaccess-*“ und konfiguriere deine Installation wie folgt. In diesem Beispiel aktivierst du die GeoIP-Unterstützung über die Datenbankdatei„mmdb„.

cd goaccess-*/
./configure --enable-utf8 --enable-geoip=mmdb

Build konfigurieren

Führe nun den unten stehenden Befehl aus, um GoAccess zu kompilieren und auf deinem System zu installieren. Sobald er ausgeführt wurde, wird GoAccess unter„/usr/local/bin/goaccess“ mit dem Standardkonfigurationsverzeichnis„/usr/local/etc/goaccess“ installiert.

sudo make && sudo make install

kompilieren installieren

Führe nun den folgenden Befehl aus, um deine GoAccess-Version zu überprüfen. Wie du unten siehst, ist GoAccess 1.9.3 im Verzeichnis /usr/local/bin/goaccess installiert.

which goaccess
goaccess --version

Version prüfen

Integration von GoAccess mit der GeoIP-Datenbank

Der GoAccess Log Analyzer unterstützt die GeoIP-Integration. Damit kannst du das Herkunftsland des Besuchers anzeigen. In diesem Abschnitt konfigurierst du GoAccess und integrierst es mit der GeoIP-Datenbankdatei.

Besuche zunächst https://db-ip.com/db/lite.php, suche den Link zur GeoIP-Datenbankdatei und lade sie mit dem Befehl„wget“ herunter.

wget https://download.db-ip.com/free/dbip-country-lite-2024-07.mmdb.gz

Entpacke die GeoIP-Datenbankdatei mit folgendem Befehl in das Verzeichnis /opt/geoip.

gunzip dbip-country-lite-2024-07.mmdb.gz /opt/geoip/

Als Nächstes führst du den Befehl„goaccess“ aus, um das Standardkonfigurationsverzeichnis zu finden. Wenn du über die APT installierst, befindet sich dein GoAccess-Verzeichnis im Verzeichnis „/etc/goaccess“. Wenn du aus dem Quellcode kompilierst, befindet sich dein GoAccess-Verzeichnis im Verzeichnis„/usr/local/etc/goaccess„.

goaccess --dcf

Öffne nun die GoAccess-Konfigurationsdatei„/usr/local/etc/goaccess/goaccess.conf“ mit dem folgenden Editor-Befehl„nano„.

sudo nano /usr/local/etc/goaccess/goaccess.conf

Entferne die Kommentarzeichen in den Zeilen „time-format“ und„date-format“ wie folgt:

# The following time format works with any of the
# Apache/NGINX's log formats are below.
#
time-format %H:%M:%S

# The following date format works with any of the
# Apache/NGINX’s log formats are below.
#
date-format %d/%b/%Y

Ändere die Option „log-format“ in„COMBINED“ für gemeinsame Nginx/Apache-Logs.

log-format COMBINED

or

log-format VCOMBINED
log-format %v:%^ %h %^[%d:%t %^] „%r“ %s %b „%R“ „%u“

Entferne den Kommentar bei der Option„geoip“ und füge den Pfad der GeoIP-Datenbankdatei hinzu.

geoip-database /home/geoip/dbip-country-lite-2021-10.mmdb

Wenn du fertig bist, speichere die Datei und beende den Editor.

Analyse der Apache/Nginx-Logs mit GoAccess

Jetzt hast du GoAccess konfiguriert und mit GeoIP integriert. Im nächsten Schritt erfährst du, wie du die Logdateien mit GoAccess analysieren kannst.

Um die Logdateien mit GoAccess zu analysieren, führst du den unten stehenden Befehl„goaccess“ aus.

goaccess access.log

Du kannst eine Ausgabe wie die folgende sehen:

  • Eindeutige Besucher pro Tag: Listen der eindeutigen Besucher pro Tag.
  • Angeforderte Dateien (URLs): die am häufigsten angeforderten Dateien – für nicht-statische Dateien.
  • Static Requests: listet die Anfragen für statische Dateien wie Bilder, CSS und JavaScript auf.
  • Nicht gefundene URLs (404s): Seiten mit 404 nicht gefundenen Fehlern.
  • Hostnamen und IPs der Besucher: Listen der Hostnamen und IP-Adressen der Besucher. Du kannst sie erweitern, um Informationen wie Land, Stadt und rDNS zu erhalten.
  • Betriebssysteme: Anzeige der Betriebssysteme der Besucher.
  • Browser: Zeigt die Webbrowser der Besucher an.
  • Zeitverteilung: Zeigt stündliche Berichte über eindeutige Besucher, die Anzahl der Zugriffe und die verbrauchte Bandbreite an.
  • Virtuelle Hosts: zeigt die Protokolle der virtuellen Hosts an. Nur aktiv, wenn du VCOMBINED oder „%s“ bei der Option „Log-Format“ aktivierst.
  • Referrer URLs: Zeigt die Referrer der Besucher an.

Du kannst auch die folgenden Tasten verwenden, um durch GoAccess zu navigieren:

  • TAB, um zwischen den Abschnitten vorwärts zu gehen oder SHIFT+TAB, um rückwärts zu gehen.
  • F5, um das GoAccess-Dashboard zu aktualisieren.
  • j, um nach unten zu scrollen und k, um nach oben zu scrollen.
  • / um nach einem Muster zu suchen und dann n einzugeben, um sich zu bewegen.
  • q, um das Dashboard zu verlassen.
  • F1 oder h, um die Hilfe anzuzeigen.

Unten siehst du das Standard-Dashboard von GoAccess:

Prüfprotokolle

Mit der GeoIP-Integration siehst du den Abschnitt„Geo Location“ wie folgt:

geoip

Erstellen von Berichten mit GoAccess

In diesem Abschnitt erstellst du mit dem GoAccess Log Analyzer Protokollberichte in HTML, JSON und CSV. Du wirst auch einen Echtzeit-Log-Analyzer einrichten.

Um HTML-Berichte für GoAccess zu erstellen, gibst du die Option „-o“ gefolgt von „dateiname.html“ ein, wie im Folgenden beschrieben:

goaccess access.log -o access-log.html

Verwende nun deinen Webbrowser und navigiere zu der Datei„access-log.html„. Du wirst den folgenden GoAccess-Bericht sehen:

exportiert

Darüber hinaus kannst du auch Protokollberichte im JSON- und CSV-Format erstellen. Verwende dazu den unten stehenden Befehl „goaccess“.

goaccess access.log -a -d -o access.json
goaccess access.log --no-csv-summary -o access.csv

Außerdem kannst du mit dem folgenden„goaccess„-Befehl eine Log-Überwachung in Echtzeit einrichten.

goaccess access.log -o /var/www/html/reports.html --real-time-html

Navigiere nun mit einem Webbrowser zur Seite „reports.html“ und du siehst die von GoAccess erstellten Echtzeitberichte.

Echtzeit über Websocket

Fazit

Herzlichen Glückwunsch! Du hast die Installation von GoAccess Log Analyzer auf einem Ubuntu 24.04 Server abgeschlossen. Du hast gelernt, wie du GoAccess mit APT und aus dem Quellcode installierst. Dann hast du gelernt, wie du Logdateien mit GoAccess analysierst und Logberichte in verschiedenen Formaten wie HTML, JSON und CSV erstellst. Schließlich hast du einen Echtzeit-Log-Analysator mit GoAccess durchgeführt.

Das könnte dich auch interessieren …