GoAccess - Apache- und Nginx-Logs in Echtzeit analysieren
GoAccess - Apache- und Nginx-Logs in Echtzeit analysieren
GoAccess ist ein schneller, terminalbasierter und browserfreundlicher Web-Log-Analyzer, der Apache- und Nginx-Zugriffsprotokolle in Echtzeit auswertet und als interaktives HTML-Dashboard exportiert.
Was ist GoAccess?
GoAccess liest Access-Logs von Webservern ein und zeigt sofort eine strukturierte Auswertung: meistaufgerufene Seiten, häufigste Besucher-IPs, HTTP-Statuscodes, Browser-Verteilung, Bandbreitenverbrauch und geografische Herkunft. Im HTML-Exportmodus generiert GoAccess eine vollständige, interaktive Statistikseite, die keine externe JavaScript-Abhängigkeit benötigt. Über WebSocket kann die HTML-Ausgabe zudem live aktualisiert werden, sodass ein permanentes Echtzeit-Dashboard entsteht. All das geschieht lokal — keine Logs verlassen den eigenen Server.
Voraussetzungen
- Docker 20.10+ / Docker Compose
- Nginx- oder Apache-Access-Logs auf dem Host
Compose-Beispiel
services:
goaccess:
image: allinurl/goaccess:latest
container_name: goaccess
restart: unless-stopped
ports:
- "7890:7890"
volumes:
- /var/log/nginx:/var/log/nginx:ro
- ./report:/srv/report
command: >
/var/log/nginx/access.log
--log-format=COMBINED
--real-time-html
--output=/srv/report/index.html
--port=7890
--ws-url=ws://meinedomain.de:7890
Hinweise
- Log-Format anpassen: Das
--log-format-Flag muss zum tatsächlichen Format des Webservers passen. Für benutzerdefinierte Nginx-Formate den passenden Formatstring direkt angeben. - Mehrere Log-Dateien: GoAccess kann mehrere Dateien gleichzeitig verarbeiten — weitere Pfade einfach als zusätzliche Argumente an den
commandanhängen. - Report-Verzeichnis: Das generierte
index.htmlimreport-Volume kann direkt von Nginx als statische Seite ausgeliefert werden, um das Dashboard über HTTPS zugänglich zu machen. - Geo-IP: Mit dem eingebundenen GeoIP2-Datenbankformat lässt sich die geografische Herkunft der Besucher in der Auswertung anzeigen.