2 fragen


#1

Hi,

kann man LogDateien von den Webspace in Piwik einlesen?

und kann man irgendwo noch genauer heraus bekommen, wo in Deutschland der Besucher her kommt?

VG
mockauer


#2

Zumindest auf die zweite Frage mal fix eine Antwort: Dazu musst du eigentlich nur das GeoIP-Plugin installieren:

Grüße


#3
  1. Logfiles kannst du in Piwik nicht einlesen. Das würde auch den Sinn von Piwik verfehlen. Logfiles sind sehr ungenau und haben mit dem was Piwik bzw. vergleichbare Webanalytics Tools machen, nichts zu tun.

  2. Man einen User zwar z.B. auch auf “Stadtebene” erfassen, jedoch gibt es kaum kostenlose Anbieter, die solche Daten zur Verfügung stellen. Und die Datenbanken die es kostenlos gibt, sind meist sehr ungenau. Schau dir sonst mal das “GeoIP-Plugin” an. Aber wie gesagt, die Genauigkeit ist nicht die beste.


#4

Danke schön für die schnellen Antworten.


(RonnyGey) #5

Das Einlesen von Logfiles, Unterscheidungen:
Fall 1)

  • einlesen von apache logfile, requests der website

das kann nicht funktionieren weil hier die Daten fehlen die piwik per javascript einsammelt
Fall 2)

  • “einlesen” von apache logfile, welches nur die piwik-requests enthält !!!

hier wird es interessanter, denn damit könnte man die logfiles aufbewahren…
und bei Bedarf wieder in Piwik einspielen,
Piwik erhält alle Daten in der /piwik/piwik.php?..QUERY…,
Es liest keine Logfiles aus! Es nimmt nur Requests entgegen.
Wir stellen Apache so ein, dass es ein extra logfile für urls like “/piwik/piwik.php?” schreibt… das piwik.php ist nun ein leeres file… keine php Ausführung…

Man kann mit einem eigenen Script(Python,Php) diese(s) Piwik Apache Log auslesen und an “/piwik/piwik.php?”… requesten… und voila,
füttert man so ein frisches/(geleertes)leeres piwik mit vergangenen requests.
Das ist ganz nützlich, wenn die DB mal wirklich worst case “total kaputt” sein sollte…

ich habe dies getestet (weil apache server im betrieb mit php/piwik speicherfehler zeigte und still stand)…und habe zusätzlich die piwik urls in eine extra tabelle zum verifizieren(bereits vorhanden/nicht vorhanden) geschrieben, wenn url nicht in dieser tabelle vorhanden dann füge hinzu und requeste “/piwik/piwik.php?QUERY”

dabei werden folgende tabellen in einer leeren piwik install gefüllt:
piwik_log_action
piwik_log_link_visit_action
piwik_log_visit

nützliche CodeQuelle:/piwik/libs/PiwikTracker.php
&cdt= CustomDateTime senden
&cip= Custom IP (IP per javascript schnipsel mitliefern lassen (Server parst .js file mit javascript var -> diese var dann in piwik javascript aufruf einbinden ))
&token_auth= NICHT VERGESSEN
http-header setzen “User-Agent”, "REMOTE_ADDR"
DISABLE DNS-Lookup! per Plugins->Provider deaktivieren, GANZ WICHTIG

GeoIP:
eigenes script, nachträglich als einzelnen Prozess ausführen,
um eigenen cache zu nutzen (IP -> country ermitteln with less iterations)
da ich die IP mitliefere kann ich nachträglich mit MaxMind GeoIP Country
zu jeder IP das Land ermitteln,
piwik_log_visit -> location_ip selektieren in IP(dotted/long) nutzen um
in MaxMind GeoIP lesen, und piwik_log_visit -> location_country updaten…
(Piwik eigenes GeoIP Plugin ersstellt eigene location_geoip_xxx spalten)
das funktioniert wunderbar, und die Weltkarte zeigt nun an,
woher die User kamen

Tips:
-Timestamps untersuchen(umwandeln in YYYY-MM-DD),
manche liegen Tage zurück! obwohl der request im “heutigen” logfile auftaucht)
-Wenn keine Suchmaschinen&Suchbegriffe zu sehen sind, kann es daran liegen dass man zu oft qouted! %20 -> %2520!

  • Apache soll diese ImporterRequests nicht mitloggen, Filesystem i/o

PS: mein Problem besteht weiterhin, apache speicherfehler, sobald ich statt nacheinander piwik zu requesten, parallel(python-threads) requests loslasse…
bekommt apache/php/piwik probleme,