Piwik ist ein weit verbreitetes Online-Analyse-Tool und im Unterschied zu GoogleAnalytics Open-Source. Piwik kann am lokalen Server installiert werden und bietet erstklassige Möglichkeiten der Traffic-Analyse. Obwohl es für Piwik sehr gute Unterstützung in diversen Tools (beispielsweise Drupal, WordPress und auch Jenkins) gibt, gehört GitLab nicht zu den Werkzeugen, welche eine einfache Integratio mit Piwik ermöglichen.
Hier wird nun gezeigt, wie man eine solche Zusammenarbeit doch hinbekommt.
Um Daten in Piwik auswerten zu können, ist es notwendig, dass jede aufgrufene Seite, für welche Analysen ermöglicht werden sollen, ein kleines JavaScript-Snippet beinhaltet.Normalerweise wird dies entweder direkt in die HTML-Seite integriert (wie es beispielsweise bei kleineren, selbstgeschriebenen HTML-Seiten Sinn macht) oder per Plugin bewerkstelligt.
Ist beides aber nicht möglich, so muss man sich ein wenig in die Tiefen der beteiligten Software vorarbeiten.
Für Gitlab kann der benötigte JavaScript-Code in ein sog. Layout eingebunden werden. Sinnvoll ist es beispielsweise, das Layout „_head.html.haml“ zu verwenden. Wie die Dateiendung schon vermuten lässt, handelt es sich dabei nicht um eine Datei, in welche einfach HTML-Code eingefügt werden kann. In dieser Datei wird nämlich „HAML“ verwendet.
Gott sei Dank gibt es aber im Web ein paar HTML2HAML-Converter.Mit dessen Hilfe kann man dann auch das von Piwik benötigte JavaScript-Snippet einfügen. Der benötigte Code sieht dabei wie folgt aus und kann an das Ende der Datei /home/gitlab/gitlabhq/app/views/layouts/_head.html.haml eingefügt werden.
/ Piwik
:javascript
var pkBaseURL = "https://server.krismer.de/piwik/";
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
:javascript
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 6);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
Evtl. muss noch der Pfad für Piwik (hier: https://server.krismer.de/piwik) angepasst werden oder die verwendete Page-ID ausgetauscht werden (im Beispiel wurde die Page-ID ‚6‘ verwendet)
Nach einem Neustart des Webservers (beispielsweise per „service httpd restart“) wird das HAML-Skript verwendet und ab sofort stehten Auswertungen in Piwik für die GitLab Oberfläche zur Verfügung.
In Version 6.5 gibt es Probleme mit der Einbindung in das _head.html.haml-File.
Eine überarbeitet Anleitung zur Piwik-Einbindung in Gitlab habe ich heute hier veröffentlicht.