all-inkl.com: Auto-Archiving für Matomo via Web Cronjob einrichten

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 2 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet ...

Wenn ein Kunde aussagekräftige Statistiken benötigt, aber aus Datenschutzgründen kein Google Analytics verwenden möchte, dann ist Matomo eine gute Alternative. Bei trafficstarken Websites wird Matomo jedoch recht langsam, da die Archivfunktion erst beim Besuch des Backends ausgeführt wird. Matomo empfiehlt da einen Cronjob einzurichten. Bei all-inkl.com kann das ab dem Privat Plus-Tarif eingerichtet werden. Wie genau, zeige ich hier in diesem Türchen Nummer 5.

All-inkl.com schreibt zwar, dass da Cronjobs im Paket sind, aber in Wirklichkeit sind das Ganze Webcrons. Aber die Anleitung bei Matomo hat auch dafür eine Passage:

Web Cron When Your Web Host Does Not Support Cron Tasks

If possible, we highly recommend that you run a cron or scheduled task. However, on some shared hosting, or on particular server configurations, running a cron or scheduled task may not be easy or possible.

Some web hosts let you set up a web cron, which is a simple URL that the host will automatically visit at a scheduled time. If your web host lets you create a web cron, you can input the following URL in their hosting interface:

https://matomo.your-server.example/path/to/matomo/misc/cron/archive.php?token_auth=XYZ

Replace the XYZ by the super user 32 characters token_auth. To find the token_auth, log in as a super user in Matomo, click on Administration link in the top menu, then click the API link in the left and the token_auth is displayed on the page.

Notes:

  • For security, if possible we recommend you POST the token_auth parameter to the URL https://matomo.your-server.example/path/to/matomo/misc/cron/archive.php (instead of sending the token_auth as a GET parameter)
  • You can test the web cron by pasting the URL in your browser, wait a few minutes for processing to finish and then check the output.
  • The web cron should be triggered at least once per hour. You may also use a ‘Website Monitoring’ service (free or paid) to automatically request this page every hour.

Bei all-inkl.com sind die Cronjobs unter dem Menüpunkt Tools zu finden:

Übertragen auf die Eingabemaske von all-inkl.com sieht das dann so aus:

Der Token hängt also hinten an der URL als Parameter, die Ausführung findet stündlich statt. Aber es gibt noch ein paar Kleinigkeiten zu bedenken.

Theoretisch kann auch ein Website Monitoring Dienst genutzt werden, aber bei Problemen sehen wir gegebenenfalls nicht sofort den Fehler. Dafür gibt es eine nette Funktion bei all-inkl.com: Damit wir bei einem Fehler gewarnt werden können, geben wir auch noch eine E-Mail-Adresse und einen Filter an. Der Filter funktioniert dabei so:

wenn dieses Filterwort in der Skript-Ausgabe vorkommt, erhalten Sie keine Email (optional).

Da eine Archivierung immer mit einem „Success:ok“ enden sollte, ist das der ideale Filter. Taucht dieser Text in der Ausgabe nicht auf, bekommen wir eine Mail mit dem Problem (=Output) zugeschickt.

Um das Archiv-Handling in Matomo zu deaktivieren (das erledigt ja jetzt der Webcron/Cronjob), stellen wir diese Funktion noch aus und begrenzen das Reporting auf eine Stunde, wie in der Anleitung beschrieben:

Disable browser triggers for Matomo archiving and limit Matomo reports to updating every hour

After you have set up the automatic archive script as explained above, you can set up Matomo so that requests in the user interface do not trigger archiving, but instead read the pre-archived reports. Login as the super user, click on Administration > System -> General Settings, and select:

Archive reports when viewed from the browser: No
Archive reports at most every X seconds : 3600 seconds

Click save to save your changes. Now that you have set up the archiving cron and changed these two settings, you can enjoy fast pre-processed near real-time reports in Matomo!

Achtung: Der Token ist an den Benutzer gekoppelt! Ich hatte daran nicht gedacht und in einem eigenen Konto den Token angelegt und eingerichtet. Der Kunde löschte nach Erfüllung meinen Account, weil er Aufräumen wollte und wir beide nicht daran dachten, dass so auch der Token ungültig wird. Also Obacht! 😉

Je nach Datenmenge kann es noch Probleme mit dem Speicher geben. Falls Ihr eine Fehlermeldung wie diese bekommt:

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate X bytes)

Dann muss das Memory Limit erhöht werden. In der Hoffnung, dass da noch Reserven drin sind …


Dieser Artikel ist Teil der Serie: Hosting-Adventskalender
Alle Artikel findest du über das Schlagwort Adventskalender

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert