Überarbeitet am 8. September 2026.
Matomo muss nicht zwingend über JavaScript im Browser messen. Wer ohnehin Nginx- oder Apache-Logs führt, kann diese direkt in Matomo importieren. Das ist besonders interessant, wenn man serverseitig auswerten möchte oder zusätzlich Bots, HTTP-Fehler und Weiterleitungen sichtbar machen will.
Meine alte Anleitung funktionierte noch mit Python 2. Das ist längst Geschichte. Der Matomo-Importer misc/log-analytics/import_logs.py wird weiterhin gepflegt und benötigt heute Python 3.
Falls Matomo noch nicht läuft, passt dazu meine Anleitung Matomo Analytics installieren. Wer nur schnell seine Access-Logs auswerten möchte, kann sich alternativ auch GoAccess ansehen.
Voraussetzungen
- eine laufende Matomo-Installation
- eine bereits in Matomo angelegte Webseite
- Zugriff auf Nginx- oder Apache-Logdateien
- Python 3
Python lässt sich unter Debian und Ubuntu zum Beispiel so installieren:
sudo apt update
sudo apt install python3
Danach kurz prüfen:
python3 --version
Importer testen
Bei Matomo On-Premise liegt das Skript normalerweise hier:
/var/www/matomo/misc/log-analytics/import_logs.py
Mit folgendem Befehl zeigt Matomo die verfügbaren Parameter:
python3 /var/www/matomo/misc/log-analytics/import_logs.py --help
Nginx-Log importieren
Angenommen, Matomo läuft unter https://analytics.example.de und die betreffende Webseite hat die ID 1:
sudo python3 /var/www/matomo/misc/log-analytics/import_logs.py \
--url=https://analytics.example.de \
--idsite=1 \
--recorders=4 \
/var/log/nginx/access.log
Damit werden die normalen Requests aus dem Access-Log importiert. Wenn das Skript auf einem anderen Server als Matomo läuft, wird zusätzlich ein token_auth benötigt.
Bots, Fehler und statische Dateien mitnehmen
Matomo kann beim Logimport deutlich mehr erfassen als nur Seitenaufrufe:
sudo python3 /var/www/matomo/misc/log-analytics/import_logs.py \
--url=https://analytics.example.de \
--idsite=1 \
--recorders=4 \
--enable-http-errors \
--enable-http-redirects \
--enable-static \
--enable-bots \
/var/log/nginx/access.log
Gerade --enable-bots ist interessant, wenn man verstehen möchte, wie viele Crawler tatsächlich auf dem Server unterwegs sind. Das erklärt oft ziemlich gut, warum reine Webserver-Zahlen deutlich höher aussehen als klassische Analytics-Zahlen.
Bestimmte Pfade ausschließen
Adminbereiche oder andere uninteressante Pfade kann man ausschließen:
--exclude-path=/wp-admin
Bei mehreren Regeln lohnt sich ein Blick in die Hilfe des Importers, weil dort alle aktuellen Optionen der installierten Matomo-Version aufgelistet werden.
Logformat nicht unterschätzen
Je mehr Informationen im Webserver-Log stehen, desto besser kann Matomo die Besucher auswerten. Sinnvoll sind insbesondere User-Agent, Referrer und vollständige URLs. Bei sehr minimalistischen Logformaten fehlen Matomo später schlicht Informationen.
Regelmäßiger Import statt immer dieselbe Datei
Ein wichtiger Punkt aus meiner alten Anleitung bleibt: Man sollte nicht ständig dieselbe komplette Logdatei erneut importieren. Sonst können Daten mehrfach auftauchen. Für einen dauerhaften Betrieb sollte man deshalb mit rotierten beziehungsweise archivierten Logdateien arbeiten und jede Datei nur einmal verarbeiten.
Bei Nginx liegen solche Dateien je nach Logrotate-Konfiguration beispielsweise als access.log.1 oder komprimiert als ältere Archive vor.
Matomo oder GoAccess?
Für mich erfüllen beide Werkzeuge unterschiedliche Aufgaben. GoAccess ist genial, wenn ich direkt und schnell sehen möchte, was im Webserver-Log passiert. Matomo ist stärker, wenn ich Besucherzahlen längerfristig auswerten, Berichte erstellen und mehrere Webseiten miteinander vergleichen möchte.
Mehr Details zum Importer gibt es in der offiziellen Matomo-Dokumentation zum Log-Importer.
Gedanken dazu 0 Kommentare
Noch ist es ruhig hier. Dein Gedanke könnte der erste sein.
Was denkst du dazu?
Dein Kommentar erscheint nach der Freigabe.