Zum Inhalt springen

GoAccess: Zugriffe selbst analysieren

Zuletzt geprüft Webhosting

Wer greift eigentlich auf deine Seite zu — echte Besucher, Bots, ein Crawler im Amoklauf? GoAccess beantwortet das direkt aus deinen Access-Logs: ohne Tracking-Script und ohne Datenweitergabe. Bei uns löst GoAccess die klassischen AWStats-Statistiken ab, und es gibt zwei Wege: per Klick in Plesk (ganz ohne SSH, täglich aktualisiert) oder per SSH für eigene Auswertungen bis zur Live-Ansicht. Dieser Artikel ist der Auftakt unserer Reihe zur Self-Service-Performance-Analyse auf unseren Managed Servern.

Der bequemste Weg — Plesk erzeugt die GoAccess-Auswertung automatisch jede Nacht:

  1. Melde dich am Plesk-Panel an und öffne Websites & Domains → Hosting-Einstellungen der Domain.
  2. Wähl im Feld Webstatistiken den Eintrag GoAccess.
  3. Setz direkt darunter den Haken beim Passwortschutz für die Webstatistiken — geschützt wird mit Benutzernamen und Passwort deines Systembenutzers (dieselben Daten wie beim FTP-Zugang).
  4. Speichere mit OK.
  5. Ruf die Statistik im Browser auf: https://deinedomain.de/plesk-stat/webstat-ssl/ für den HTTPS-Traffic (bzw. /plesk-stat/webstat/ für unverschlüsselte Zugriffe) und melde dich mit dem Systembenutzer an.

Auf cPanel-Servern gibt es diesen Panel-Weg nicht — dort führt der SSH-Weg zum Ziel.

Für alles, was die nächtliche Panel-Statistik nicht beantwortet: frei gewählte Zeiträume, mehrere Logs auf einmal — und auf Wunsch der Live-Blick auf den laufenden Traffic.

  • SSH-Zugang — siehe SSH-Zugang einrichten.
  • GoAccess auf dem Server: goaccess --version prüfen. Der Rollout auf alle Server läuft — fehlt das Tool bei dir noch, installierst du es übergangsweise selbst (siehe Kasten) oder fragst per Ticket nach dem Stand.
PanelPfad
Plesk~/logs/ — für HTTPS-Traffic access_ssl_log (Apache) bzw. proxy_access_ssl_log (nginx)
cPanel~/access-logs/ — eine Datei pro Domain
  1. Verbinde dich per SSH und wirf den Schnellblick im Terminal an:
    Terminal-Fenster
    goaccess ~/logs/access_ssl_log --log-format=COMBINED
    Das Dashboard zeigt Top-Seiten, Besucher, Statuscodes, Bots — Navigation mit den Pfeiltasten, Beenden mit q.
  2. Für den Browser-Report: Ausgabe als HTML in einen eigenen Ordner unterhalb deines Document Root schreiben:
    Terminal-Fenster
    mkdir -p ~/httpdocs/stats
    goaccess ~/logs/access_ssl_log --log-format=COMBINED -o ~/httpdocs/stats/index.html
  3. Schütze den Ordner, bevor du den Report aufrufst — Zugriffsstatistiken gehören nicht öffentlich ins Netz: Verzeichnis mit Passwort schützen.
  4. Öffne https://deinedomain.de/stats/ und melde dich mit dem Verzeichnisschutz-Benutzer an.
  5. Auch rotierte (gepackte) Logs mitnehmen — für den Blick über mehrere Tage:
    Terminal-Fenster
    zcat -f ~/logs/access_ssl_log* | goaccess --log-format=COMBINED -o ~/httpdocs/stats/index.html -

Drei Stufen, von simpel bis echt:

  1. Manuell: Befehl aus Schritt 2 erneut ausführen, Report neu laden. Reicht für die gelegentliche Analyse.
  2. Auto-Refresh per Cron: Den Report alle 5–10 Minuten neu erzeugen lassen — ein klassischer Cronjob, und der Report ist „quasi live”, ohne dass etwas dauerhaft laufen muss.
  3. Echte Live-Ansicht (--real-time-html): GoAccess läuft dann dauerhaft und schiebt Updates per WebSocket in den Report:
    Terminal-Fenster
    goaccess ~/logs/access_ssl_log --log-format=COMBINED \
    -o ~/httpdocs/stats/index.html \
    --real-time-html --port 7890 \
    --ws-url=wss://deinedomain.de/ws/ --daemonize
    Damit der Browser den WebSocket erreicht, muss wss://deinedomain.de/ws/ auf 127.0.0.1:7890 verkabelt werden — von außen ist der Port durch die Server-Firewall zu. Öffne dafür ein Ticket; technisch ist es dasselbe Muster wie im Artikel Container hinter deiner Domain inklusive der WebSocket-Header.

Das Log entspricht nicht dem angegebenen Format — etwa weil ein anderes Log erwischt wurde (Error-Log statt Access-Log).

Lösung: Pfad prüfen (Tabelle oben) und --log-format=COMBINED gesetzt lassen — das passt für die Standard-Logs unserer Server. Bleibt der Fehler, Ticket mit den ersten zwei Log-Zeilen.

Der Report unter /stats/ ist ohne Passwort erreichbar

Abschnitt betitelt „Der Report unter /stats/ ist ohne Passwort erreichbar“

Der Verzeichnisschutz fehlt oder sitzt auf dem falschen Ordner.

Lösung: Schritt 3 nachholen — Verzeichnisschutz exakt auf den Report-Ordner legen und im privaten Fenster gegenprüfen.

Die Live-Ansicht lädt, aktualisiert sich aber nicht

Abschnitt betitelt „Die Live-Ansicht lädt, aktualisiert sich aber nicht“

Der Browser erreicht den WebSocket nicht — der Report selbst kommt als statische Datei trotzdem an.

Lösung: Die /ws/-Verkabelung ist noch nicht eingerichtet (siehe oben, Ticket) — oder der GoAccess-Prozess läuft nicht mehr: per SSH prüfen und mit dem Befehl aus Stufe 3 neu starten.

Auffällig viele Zugriffe von einzelnen IPs oder Bots

Abschnitt betitelt „Auffällig viele Zugriffe von einzelnen IPs oder Bots“

Genau dafür lohnt der Blick: Crawler-Wellen sind ein Klassiker hinter 508-Fehlern und Lastspitzen.

Lösung: Aggressive SEO-Crawler blockt unsere WAF serverseitig; bei anhaltendem Beschuss durch einzelne IPs Ticket mit der GoAccess-Auswertung — bessere Grundlage geht kaum.

Format-Probleme, Live-Verkabelung gewünscht oder unklar, was die Zahlen bedeuten? Ticket im Kundencenter öffnen — nenn Domain und was du herausfinden willst, wir helfen bei Setup und Interpretation.