
GoAccess ist ein Echtzeit-Web-Log-Analysator und interaktiver Viewer, der in einem Terminal auf *nix-Systemen oder über Ihren Browser läuft.
GoAccess ist ein quelloffener Echtzeit-Weblog-Analysator und interaktiver Viewer, der in einem Terminal auf *nix-Systemen oder direkt in Ihrem Browser läuft. Entwickelt mit Systemadministratoren, DevOps-Ingenieuren und Sicherheitsexperten im Hinterkopf, liefert er schnell umsetzbare HTTP-Statistiken und visuelle Serverberichte on the fly. GoAccess parst Ihre Webserver-Logs in Echtzeit und präsentiert die Daten direkt im Terminal oder über ein Live-HTML-Dashboard, wodurch es einfach wird, Traffic zu überwachen, Anomalien zu erkennen und Probleme sofort zu beheben.
Weitere Informationen unter: https://goaccess.io.
GoAccess parst die angegebene Weblog-Datei und gibt die Daten im X- Terminal aus. Zu den Funktionen gehören:
Vollständig in Echtzeit
Alle Panels und Metriken werden so getaktet, dass sie alle 200 ms in der Terminal-
Ausgabe und jede Sekunde in der HTML-Ausgabe aktualisiert werden.
Minimale Konfiguration erforderlich
Sie können es einfach gegen Ihre Access-Log-Datei ausführen, das Log-Format auswählen und
GoAccess das Access-Log parsen und Ihnen die Statistiken anzeigen lassen.
Antwortzeit der Anwendung verfolgen
Verfolgen Sie die Zeit, die zur Bedienung der Anfrage benötigt wird. Äußerst nützlich, wenn Sie
Seiten verfolgen möchten, die Ihre Website verlangsamen.
WebSocket-Authentifizierung:
GoAccess bietet eine erweiterte WebSocket-Authentifizierung, die lokale und
externe JWT-Verifizierung unterstützt, mit sicheren Token-Refresh-Fähigkeiten und nahtloser
Integration in externe Authentifizierungssysteme. Verifizierte Tokens werden bis zu ihrem
exp-Claim verfolgt und die Verbindung wird geschlossen, sobald sie ablaufen.
Nahezu alle Weblog-Formate
GoAccess erlaubt beliebige benutzerdefinierte Log-Format-Strings. Vordefinierte Optionen umfassen
Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront usw.
Inkrementelle Log-Verarbeitung
Brauchen Sie Datenpersistenz? GoAccess kann Logs inkrementell
über die Persistenzoptionen auf der Festplatte verarbeiten.
Nur eine Abhängigkeit
GoAccess ist in C geschrieben. Um es auszuführen, benötigen Sie nur ncurses als Abhängigkeit.
Das ist alles. Es verfügt sogar über einen eigenen Web-Socket-Server — http://gwsocket.io/.
Besucher
Ermitteln Sie die Anzahl der Hits, Besucher, Bandbreite und Metriken für die langsamsten
laufenden Anfragen nach Stunde oder Datum.
Metriken pro virtuellem Host
Haben Sie mehrere virtuelle Hosts (Server Blocks)? Es verfügt über ein Panel, das
anzeigt, welcher virtuelle Host die meisten Webserver-Ressourcen verbraucht.
UTM-Kampagnen-Tracking
Schlüsselt Kampagnen-Traffic nach Medium, Quelle, Kampagne, Inhalt und Begriff auf,
alles aus der angeforderten URL extrahiert.
Bot- und Crawler-Klassifizierung
Hält KI-Crawler und Fediverse-(ActivityPub-)Traffic in eigenen
Kategorien, getrennt von traditionellen Suchmaschinen-Crawlern.
TLS-Einstellungen
Meldet das ausgehandelte Protokoll, die Cipher Suite und die Key-Exchange-Gruppe, wenn
%K, %k und %g Teil des Log-Formats sind.
ASN (Autonomous System Number mapping)
Ideal zum Erkennen bösartiger Traffic-Muster und um sie entsprechend zu blockieren.
Ganze Netzwerke können ebenfalls verworfen werden, da sie mit --exclude-asn geparst werden.
Anpassbares Farbschema
Passen Sie GoAccess an Ihren eigenen Farbgeschmack/Ihre Farbschemata an. Entweder über das
Terminal oder indem Sie einfach das Stylesheet auf die HTML-Ausgabe anwenden.
Unterstützung für große Datensätze
GoAccess kann große Logs dank seiner optimierten
In-Memory-Hash-Tabellen parsen. Es hat eine sehr gute Speichernutzung und eine ziemlich gute
Performance. Dieser Speicher unterstützt auch Persistenz auf der Festplatte.
Docker-Unterstützung
Möglichkeit, das Docker-Image von GoAccess aus dem Upstream zu erstellen. Sie können es weiterhin vollständig
konfigurieren, indem Sie Volume-Mapping verwenden und goaccess.conf bearbeiten. Siehe
Docker-Abschnitt unten.
Es gibt auch eine Dokumentation zur Verwendung von docker-compose.
GoAccess erlaubt jede benutzerdefinierte Log-Format-Zeichenkette. Vordefinierte Optionen umfassen unter anderem:
Der HTML-Bericht verwendet Natural Earth-Kartendaten,
die gemeinfrei sind.
Die mitgelieferte Länderkarte enthält eine lokale Anpassung, um die Krim als Teil
der Ukraine darzustellen, im Einklang mit der Resolution 68/262 der UN-Generalversammlung.
Behalten Sie diese Anpassung bei, wenn Sie resources/countries-110m.json aktualisieren.
Die Länderzuordnungen für den Traffic stammen aus der konfigurierten GeoIP-Datenbank;
eine Änderung der Kartenumrisse ändert nicht die Berichtssummen.
GoAccess wurde als schneller, terminalbasierter Log-Analysator konzipiert. Seine Kernidee ist es, Webserver-Statistiken schnell und in Echtzeit zu analysieren und anzuzeigen, ohne den Browser verwenden zu müssen (ideal, wenn Sie eine schnelle Analyse Ihres Access-Logs per SSH durchführen möchten oder einfach gerne im Terminal arbeiten).
Es dient auch als praktisches Werkzeug für die Sicherheitsüberwachung und macht es einfach, verdächtige Aktivitäten, ungewöhnliche Traffic-Muster, Brute-Force-Versuche, Scanner, Bots und anomalie Anfragen direkt aus Ihren Logs zu erkennen.
Obwohl die Terminal-Ausgabe die Standardausgabe ist, kann es einen vollständigen,
eigenständigen Echtzeit-HTML-Bericht
sowie einen JSON- und
CSV-Bericht erzeugen.
Man kann es eher als ein Monitor-Kommandozeilenwerkzeug denn als alles andere betrachten.
GoAccess kann auf *nix-Systemen kompiliert und verwendet werden.
Laden Sie GoAccess herunter, entpacken Sie es und kompilieren Sie es mit:
$ wget https://tar.goaccess.io/goaccess-1.12.tar.gz
$ tar -xzvf goaccess-1.12.tar.gz
$ cd goaccess-1.12/
$ ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib
$ make
# make install