Ich nutze aktuell noch Matomo 5.7 mit JS-Tracking. Da Adblocker einen Teil der Besucher unsichtbar machen, wollte ich zusätzlich die Server-Logdatei (access_ssl_log) via misc/log-analytics/import_logs.py einlesen, um die fehlenden Visits/Pageviews zu erhalten. Die Logdatei enthält nur Daten des aktuellen Tages, da zwischen 03–04 Uhr täglich rotiert und der Vortag archiviert wird.
Mein Problem nun
Vor dem Import hatte ich für heute auf der einen Domain ~10.000 Visits. Nach dem Import waren es dort plötzlich über 110.000 Visits, mehr als eine Verzehnfachung. Selbst eine Verdoppelung durch Doppelzählung wäre nicht akzeptabel, aber in der Form ist das doch völlig absurd.
Verwendetes Import-Skript
#!/bin/bash
PYTHON=/usr/bin/python3
MATOMO_LOG_IMPORT=/var/www/vhosts/example.com/analytics.example.com/matomo/misc/log-analytics/import_logs.py
$PYTHON $MATOMO_LOG_IMPORT \
--url=https://data.example.com/matomo/ \
--idsite=1 \
/var/www/vhosts/example.com/logs/example.de/access_ssl_log
Import-Ausgabe
Logs import summary
-------------------
242166 requests imported successfully
7948 requests were downloads
351187 requests ignored:
14503 HTTP errors
120446 HTTP redirects
0 invalid log lines
0 filtered log lines
0 requests did not match any known site
0 requests did not match any --hostname
212814 requests done by bots, search engines...
3424 requests to static resources (css, js, images, ico, ttf...)
Website import summary
----------------------
242166 requests imported to 1 sites
Performance summary
-------------------
Total time: 1301 seconds
Requests imported per second: 186.03 req/sec
Processing your log data
------------------------
In order for your logs to be processed by Matomo, you may need to run the following command:
./console core:archive --force-all-websites --url='https://data.example.com/matomo/'
Cronjob für JS-Tracking (Archivierung) der schon immer aktiv ist und alle 5 Minuten archiviert:
5 * * * * user /opt/plesk/php/8.4/bin/php \
/var/www/vhosts/example.com/analytics.example.com/matomo/console \
core:archive --url=https://data.example.com/matomo/ > /dev/null
Fragen
- Warum führt der Import zu einer mehr als Verzehnfachung? Aus welchem Grund entstehen so viele künstliche Visits?
- Ist der parallele Betrieb von JS-Tracking und Logfile-Import auf derselben Site-ID grundsätzlich falsch?
- Importiert
import_logs.pyauch POST-Requests (z.B. AJAX-Calls), die keine Seitenbesuche sind?
Würde mich freuen, falls mir jemand zu den Fragen weiterhelfen kann. Danke ![]()