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 command anhängen.
  • Report-Verzeichnis: Das generierte index.html im report-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.