
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 Hintergrund, liefert er schnell verwertbare 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 ist, Traffic zu überwachen, Anomalien zu erkennen und Probleme sofort zu beheben.
Weitere Informationen unter: https://goaccess.io.
GoAccess parst die angegebene Web-Logdatei 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-Logdatei ausführen, das Logformat 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, unterstützt lokale und
externe JWT-Verifizierung, 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 Web-Logformate
GoAccess erlaubt beliebige benutzerdefinierte Logformat-Strings. Vordefinierte Optionen umfassen
Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront usw.
Inkrementelle Log-Verarbeitung
Benötigen 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 extrahiert aus der angeforderten URL.
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 Logformats sind.
ASN (Autonomous System Number Mapping)
Ideal zum Erkennen bösartiger Traffic-Muster und zum entsprechenden Blockieren.
Ganze Netzwerke können ebenfalls verworfen werden, da sie mit --exclude-asn geparst werden,
oder der Bericht kann mit --include-asn auf bestimmte Netzwerke beschränkt 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 verarbeiten, dank seiner optimierten
In-Memory-Hash-Tabellen. Der Speicherverbrauch ist sehr gut und die
Performance recht ordentlich. Dieser Speicher unterstützt zudem
On-Disk-Persistenz.
Docker-Unterstützung
Möglichkeit, das Docker-Image von GoAccess aus dem Upstream zu bauen. Sie können
es weiterhin vollständig konfigurieren, indem Sie Volume-Mapping verwenden und goaccess.conf bearbeiten. Siehe
Abschnitt Docker unten.
Es gibt außerdem 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 UN-Generalversammlungsresolution 68/262.
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. Die Kernidee ist, Webserver-Statistiken schnell und in Echtzeit zu analysieren und anzuzeigen, ohne den Browser verwenden zu müssen (großartig, wenn Sie eine schnelle Analyse Ihres Access-Logs per SSH durchführen möchten oder einfach gerne im Terminal arbeiten).
Es dient außerdem 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 anomale Anfragen direkt aus Ihren Logs zu erkennen.
Während die Terminal-Ausgabe die Standardausgabe ist, kann es auch 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 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