Ein Fehler in Dateiarchivierung, der laut Ticket #2548 mit Piwik 1.6 als behoben gilt, konnte ich bei meinen Installationen zuletzt noch immer beobachten. Auf dem Dashboard zeigt der Graph der letzten Besuche einen Totalausfall für einen kompletten Tag.

0 Besucher! Obwohl alle anderen Anzeigen – Suchbegriffe, Besuche nach Serverzeit, Liste externen Webseiten, Suchmaschinen usw. – das Gegenteil behaupten. Sie zeigen die typischen Werte und weisen auf die gewohnten Besucherströme und -verhalten hin.

Da mich das Problem im November 2011 nun bereits das 2. Mal heimgesucht hatte, wird dieser kleine Tipp sicherlich auch anderen Piwik-Nutzern im Fehlerfall weiter helfen. Er ist nicht neu und auch im Netz wird diese Anleitung bereits ein paar mal beschrieben. Thematisch passt diese Fehlerbehebung aber recht gut zu meinen anderen Piwik Tutorials hier auf redirect301.de.

Merkwürdiges Erscheinungsbild auf dem Piwik-Dashboard

Wie im Screenshot zu sehen, werden an zwei Tagen (8.11. und 15.11.) jeweils 0 Besucher angezeigt.

Der 0-Besucher-Fehler bei Piwik

Der 0-Besucher-Fehler bei Piwik auf dem Dashboard

Auch ein nochmaliges, händisches Anstoßen der Archivierung löst das Problem nicht. Bei der Anzeige auf der Linux-Kommandozeile fällt lediglich auf, dass bei dieser Site-Id (hier 12) kein Wert in der XML-Ausgabe erfolgt.

Piwik Archivierungsfehler während der archive.sh Ausführung

Piwik Archivierungsfehler während der archive.sh Ausführung

Leider nur ein Workaround, keine Lösung

Bei diesem Tipp handelt es sich um einen Workaround, der nicht die Ursache behebt, aber den sogenannten Piwik zero visitors bug bis zum nächsten Mal vergessen macht. Die Werte für den verloren geglaubten Tag werden hierbei sozusagen wieder hergestellt – sie werden, wenn nicht vorhanden, neu generiert.
Gefunden habe ich den Hinweis zuletzt bei Bejonet, sicherlich hatte ich diesen einst irgendwo im Piwik-Forum entdeckt und dann bei Bedarf angewandt.

Was ist zu tun?

Am einfachsten lässt sich das Problem mit Hilfe des phpMyAdmin, einer freien PHP-­Applikation zur Administration von MySQL-Datenbanken, erledigen. Das Programm steht sicherlich bei den meisten Hosting-Paketen zur Verfügung und dürfte auch für Nicht-MySQL-Profis bedienbar sein. Stehen mehrere Datenbanken zur Auswahl, gilt es im ersten Schritt die Piwik-Datenbank auszuwählen. In der sich daraufhin zeigenden Tabellenübersicht wird im nächsten Schritt die Tabelle archive_numeric_2011_11 (in meinem Fall also die November-Tabelle 2011, die Archive Numeric Tabelle für den Monat wählen, bei dem das Problem auftritt) für die Fehlerbehebung wichtig.
Diese Tabelle muss einfach geleert bzw. gelöscht werden. Bei Piwik ist das ausnahmsweise egal, da durch die Piwik-Archivierung die Tabelle neu angelegt oder eben neu befüllt wird.

phpMyAdmin: Piwik-Datenbanktabelle archive_numeric_2011_11

phpMyAdmin: Piwik-Datenbanktabelle archive_numeric_2011_11

Die 7 Schritte zur Problembehebung

  1. MySQL-Datenbank per phpMyAdmin administrieren
  2. Korrekte Tabelle in phpMyAdmin wählen
  3. Tabelle „archive_numeric_JJJJ_MM“ (Jahr, Monat) suchen und einen Haken in der Checkbox setzen
  4. Tabelle leeren wählen
  5. Hinweismeldung von phpMyAdmin beachten (TRUNCATE `archive_numeric_2011_11`;)
  6. Das Leeren der Tabelle mit OK bestätigen
  7. Archivierung durchführen (entweder durch Aufruf des Piwik-Dashboards bzw. mit Hilfe der archive.sh, die ggf. als Cronjob läuft

Das Ergebnis

Die fehlerhafte Anzeige sollte nach dem erneuten automatischen Aufbau der Archive-Numeric-Tabelle der Vergangenheit angehören. Zumindest bis der Bug das nächste Mal zuschlägt oder von den Piwik-Entwicklern endgültig behoben wurde.

Piwik: 0-Besucher-Fehler behoben

Den Piwik 0-Besucher-Fehler behoben