Piwik: GeoIP und CronJob

Piwik ist ein Open-Source-Programm für Webanalytik, d.h. es eignet sich bestens, um die Besucher eurer Homepage statistisch zu erfassen und zu analysieren. Auch hat es gegenüber Google Analytics den Vorteil, dass sämtliche Daten bei euch auf dem Server bleiben.

Hier in diesem kurzen Tutorial möchte ich euch zwei kleine Tricks mit auf den Weg geben, die eure statistische Erhebung zum einen genauer machen und zum anderen die Auswertung beschleunigen, bzw. die Ladezeit verringern.

Standorterkennung

Wer bei Piwik ein bisschen mehr Infos haben möchte, als nur das Land, aus dem der Besucher kommt, z.B. den Provider oder die Stadt, der kann unter dem Menüpunkt Standorterkennung GeoIP aktivieren. Hierbei wird empfohlen GeoIP (PECL) zu verwenden, da es am genausten ist und ohne Einschränkungen daherkommt. Es wird eine GeoIP- Datenbank und ein PECL Modul verwendet.

Natürlich kommt unser Server erst einmal ohne daher. Wir müssen uns also selber helfen und die passenden Pakete bzw. das passende Modul nachinstallieren. Dazu verbinden wir uns einfach mit Putty oder einem anderen SSH Client mit unserem Server und installieren die benötigten Pakete mit Hilfe von Yum.

yum install GeoIP-devel
yum install php-pear
yum install php-pecl-geoip

Nun müssen wir das neue Modul erst einmal aktivieren, bzw. uns vergewissern, dass es auch nur einmal aktiviert ist. Letzteres kann bei der Verwendung von Plesk schon einmal für Probleme sorgen! Theoretisch reicht es aus, wenn das Modul in der php.ini aktiviert wird. Diese findet ihr bei CentOS unter /etc/php.ini. Dort fügen wir nun folgende Zeile ein:

extension=geoip.so

 Aber wie gesagt, unter Plesk kann es hier zu Problemen kommen, da es mehrere *.ini Files für php gibt. Um uns einen Überblick zu verschaffen, welche das in unserem Fall sind, führen wir einfach folgenden Befehl in der Console aus:

php –ini

 Erfahrungsgemäß kann ich sagen, kontrolliert jede der aufgelistet *.inis! Es reicht aus, wenn das Modul in einer davon aktiviert ist. Ich empfehle hier die /etc/php.d geoip.ini ! Hier sollte einfach der Eintrag  extension=geoip.so zu finden sein.

Damit hätten wir nun auch schon das GeoIP Modul installiert und aktiviert.

Jetzt benötigen wir aber noch eine passende Datenbank, ohne die das Modul nicht funktioniert.  Hier nimmt uns Plesk ein ganzes Stück Arbeit ab, denn die Datenbank lässt sich nicht nur über Plesk herunterladen, sondern auch aktuell halten. Dazu einfach im Menüpunkt Standorterkennung ganz nach unten scrollen und zum Punkt „Automatische Aktualisierungen für GeoIP Datenbanken“ gehen. Dort einfach die kostenlose Lite Version auswählen, den angegeben Link kopieren und abspeichern.

Sehr schön, damit hätten wir nun die neuste GeoIP Datenbank in unserem Piwik Verzeichnis, … jetzt müsste nur noch das GeoIP Modul darauf zugreifen können. Von alleine klappt das natürlich nicht, daher müssen wir noch einmal unsere /etc/php.ini editieren.

Einfach unter dem Punkt [GD] folgende Zeile einfügen

geoip.custom_directory=/pfad/zu/eurer/piwik-installation/misc

 Nun sollte Piwik eigentlich zur Standortabfrage auf das GeoIP Modul und die GeoIP Datenbank zurückgreifen!

CronJob zur Performancesteigerung

Wer jeden Tag mehrer Hundert Besucher auf seiner Homepage hat, der wird mit einiger Zeit feststellen, dass Piwik beim Laden des Dashboards sehr viel Zeit benötigt. Das liegt daran, dass bei jedem Laden der Seite die Nutzerstatistiken verarbeitet und erstellt werden. Um das zu vermeiden können wir uns einfach mit einem chonjob behelfen.

Zunächst müssen wir hierfür unter den allgemeine Einstellungen, die Archivierungseinstellungen ändern. Dafür einfach „Piwik erlauben, die Archivierung zu starten, wenn Berichte im Browser angezeigt werden.“ mit Nein beantworten.

Jetzt brauchen wir noch den passenden Cronjob. Hierfür unter /etc/cron.d eine neue Datei erstellen, z.B. piwik-archive. Dort schreiben wir nun folgendes rein:

MAILTO="mail@domain.de"
5 * * * * root /pfad/zur/piwik-installation/console core:archive --url=eurepiwik.domain.de > //pfad/zur/piwik-installation//piwik-archive-output.log

 Die email Adresse ist nicht zwingend notwendig, aber bei evtl. Fehlern ganz praktisch, da die Fehlermeldung dann an eure mail weitergeleitet wird. Zusätzlich wird ein Log im Piwikverzeichnis angelegt.

In diesem Beispiel wird nach der fünften Minute jeder neuen Stunde einmal der Archivierungsprozess gestartet. Das lässt sich natürlich auch Variieren, z.B. jede halbe Stunde */30. Wie genau cronjobs funktioniere könnt ihr hier nachlesen.

Das sollte eurer Piwik Installation auf jeden Fall ein wenig einheizen!

Kommentieren Sie den Artikel

Please enter your comment!
Please enter your name here