[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Echtzeit-Logfileanalyse



Moritz Lenz wrote:
Hallo,

Andre Bischof wrote:
Ich weiß nicht ob das so klar wird, ich will quasi betrachten können,
wie User sich über meine Website bewegen (Klickpfad).

Dafür ist mod_usertrack recht gut geeignet, weil du damit deine Besucher
tatsächlich identifizieren kannst (sofern sie Cookies aktiviert haben).

Ein Apache-Modul, nehme ich an?

Außerdem will ich nichts was ständig mitläuft, da Echtzeitanalyse wohl
je nach Traffic und Loggröße sehr viel Ressourcen verbrauchen kann, und
es wäre schön wenn es sich selbst aktualisiert oder man z.B. Filter
setzen kann, um nur bestimmte User zu betrachten.

Wie stellst du dir denn die Auswahl dieser User vor?

Wie gesagt als Zugriffe der gleichen IP-Adresse, am besten in Verknüpfung mit User-Agent/Browserkennung. Mir ist klar, dass ich damit einen Teil Mehrfachzuordnungen (IP-Pools/Proxys) haben werde, aber das sollte recht gering sein, wenn ich gleiche IPs nochmal in Abhängigkeit von User-Agent/Browserkennung betrachte:

87.160.67.178 - - [18/Feb/2007:07:22:47 +0100] "GET /cms/drupal/misc/xml.png HTTP/1.1" 200 396 "http://bischof.homelinux.net/cms/drupal/node/182"; "Mozilla/4.0 (compatible; MSIE 6.0; Window
s NT 5.2; SV1; .NET CLR 1.1.4322)"

Da ich keine High-Traffic-Seite habe halte ich es für sehr unwahrscheinlich, dass bei gleichen IPs auch noch dieser Teil von verschiedenen Usern identisch ist: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)", so kommt bspw. der nächste Win-User bei mir schon mit "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)" - du siehst das der letzte Parameter sich unterscheidet. Mal abgesehen davon das hier schon die IP eine andere gewesen wäre, aber darum ging's mir grad nicht.

Für die verzögerte Analyse setze ich AWStats ein, der kann wohl auch
sowas wie Echtzeitanalyse, aber wenn ich das richtig verstehe nur auf
Browserrefresh und dann wird jedesmal das gesamte Logfile neu geparst,
und nicht nur das neue ergänzt.

Ich denke eher an einen Mechanismus der vom Prinzip her eher sowas wie
"tail -F apache.log |grep %Benutzer%" macht.

Das wäre kein Problem. Ich hab schon mal ein kleines Perl-Script
geschrieben, das Logfiles in die Bestandteile zerlegt, dann kannst du
nach IP und UserAgent nach deinen Wünschen filtern. Das Problem ist nur
wieder: wie wählst du den Besucher/Filter aus?

Die regex, die "combined" Logfiles zerlegt, sieht so aus:
m/^([^ ]*) ([^ ]*) ([^ ]*) \[([^\]]+)\] "((?:[^"]|\\")*?)" (\d+) (-|\d+)
"((?:[^"]|\\")*)" "((?:[^"]|\\")*)"/

Und dann bekommst du die Werte:
my ($ip, $ignore, $remote_user, $date, $request, $status, $size, $ref, $ua)
 = ($1, $2, $3, $4, $5, $6, $7, $8, $9);

Afaik gibts auch ein CPAN-Modul, das ungefähr das gleiche macht...

Hm, danke, aber ich wollte nicht programmieren, Perl kann ich nicht, PHP könnte ich - aber nach meiner Erfahrung ist das unnötig, da bei mind. 99% der Dinge, die mir sinnvoll erschienen, nach genauer Recherche schon ein weit entwickeltes Projekt existiert - ich halte nichts davon immer das Rad neu zu erfinden, dann helfe ich lieber in bestehenden Projekten, falls meine Fähigkeiten das ermöglichen.

Vielleicht sollte ich mal nicht über google sondern über sourceforge suchen?

Andre

--
Personal weblog and more: http://bischof.homelinux.net

Stilblüten aus Schreiben von Versicherungsnehmern:
Der andere Wagen war absolut unsichtbar, und dann verschwand er wieder.



Reply to: