Zugriffs-Statisik (Logfile) mit SWF auswerten ...

ritasboss

Grünschnabel
Hallo zusammen,

bin auf der Suche nach einer Lösung in Flash, mit der ich (selbsterzeugte) Logfiles grafisch präsentieren kann.

Im Prinzip könnte man auch die Server-Logfiles nehmen. Aber wie kriegt man das ordentlich und sortierfähig an den SWF übergeben?

Syntax der Logfiles ist also noch offen. Meine Webseiten werden in PHP erstellt und was in die Logfiles geschrieben wird und wie es da reingeschrieben wird, steht noch nicht fest. Kann also noch an die Bedürfnisse von Flash angepasst werden.

Vielleicht gibts ja auch fertige Lösungen. Bei den Besucherzählern von webcounter.goweb.de wird ja auch in SWF präsentiert. Nicht so schick. Aber immerhin.
 
Hi,

anbieten würde sich m.E. eine XML-Struktur. Schau mal in der Flashreferenz nach dem gleichnamigen Objekt. ich weiß nicht, wie Deine Daten zeitlich quantisiert sind, aber "historische" Datensätze sind damit z.B. kein Problem.

Im Prinzip ist es für Flash ziemlich wurscht, in welcher Form und Syntax die Daten nun vorliegen - das hängt eher von Deinen Wünschen ab. Soll z.B. ein grafischer Monats- bzw. Jahresverlauf angezeigt werden?

Wenn Du konkret weißt, was Du anzeigen lassen willst, kann ich vielleicht Tipps und Beispiele posten, aber zunächst muss klar sein, was Du willst.

Gruß
.
 
Danke für die schnelle Antwort!

Im Prinzip soll das Rad neu erfunden werden:

Protokolliert werden soll ...
... was ein Besucher tut (Einstiegsseite, nächste Seite, nächste Seite, ... , Download Datei xyz, nächste Seite, ... , Ausstiegsseite)
... wie lange er es tut (Verweildauer auf jeder Seite)
... woher er kommt (Referrer)
... wohin er geht

Präsentiert werden soll ...
... sortiert nach Tages-, Wochen- und Monatsübersichten
... sortiert nach Kriterien (z.B. Ranking, Einstiegs-/Ausstiegs-Seite, Downloads, ... )

Nebeneffekt ...
... da life protokolliert werden soll, soll auch in jede Seite der Hinweis "Zur Zeit soundsoviel Besucher online". So wie hier auf tutorials.de

Einschränkung ...
... kein Java. Die Website wird barrierefrei (der Flash für die Logfiles nicht barrierefrei).

Zukunftsmusik ...
... alles muss ausbaufähig sein.
 
was ein Besucher tut (Einstiegsseite, nächste Seite, nächste Seite, ... , Download Datei xyz, nächste Seite, ... , Ausstiegsseite)
und das willst Du für jeden Benutzer speichern? ... oder nur sowas wie:
Code:
Dienstag: 
startseite: 513 aufrufe, durchschnittsverweildauer: 22 minuten
news:       802 aufrufe, durchschnittsverweildauer: 13 minuten
...

Montag:
...
...
So wie ich mir das im Moment vorstelle, hast Du recht komplexe Statistiken im Auge, und da würde ich mir zunächst Gedanken machen, wie ich es

a) präsentieren möchte (Filter, Sortierung, Korrelationen)
b) speichere und verwalte (sprich: Datenbankstruktur und BackEnd)

Wie Du die Daten dann in Flash einließt und darstellst, hängt von m.E. von diesen Voraussetzungen ab, stellt aber (fast) das kleinere Problem dar. Beginnen würde ich damit nicht. ;)

Gruß
.
 
Stimmt. Zuerst den Fla bauen macht keinen Sinn. Da hast Du recht. Ich wollte mir nur nichts verbauen, wenn ich zuerst die Logfile-Struktur entwerfe.

Ein Eintrag im Logfile könnte so aussehen:
IP-Adresse, Einstiegs-Datum, Einstiegs-Uhrzeit, aktuelle Seite, vorherige Seite, (...?)

Logfiles werden in gewissen Abständen neu angelegt (abhängig vom Datum oder der Zahl der Einträge) und bekämen fortlaufende Namen 050329.log, 050330.log oder 0001.log, 0002.log

Der Flash könnte alle denkbaren Sortierdarstellungen dann selbstständig berechnen und darstellen. (Könnte man aber sicher auch mit PHP machen, bevor der Fla sich an der Menge verschluckt. Es kann nämlich auch passieren, dass mal 10.000 Besucher oder mehr gleichzeitig gucken gehen.)

- Zeig mir die Zahl der Besucher seit dem 1.1.2005
- Zeig mir die zehn meist besuchten Seiten seit gestern
- Zeig mir, wer in der letzen Woche von Google kam
- Zeig mir, wer gestern anschließend zur Konkurrenz gegangen ist ;-)
- Zeig mir, welche Seiten jetzt gerade angeschaut werden
- Zeig mir, zu welchen Zeiten die meisten Besucher online waren

Ein spezielles Logfile könnte dazu dienen, die aktuelle Zahl der Besucher zu dokumentieren.

Da werden ständig die gleichen Daten wie oben reingeschrieben und bei der Gelegenheit auch wieder rausgeschmissen, wenn ein Verfallsdatum überschritten ist (z.B. 30 Minuten). Würde ich mit PHP erledigen. Das dient ohnehin vorwiegend der Dokumentation auf der Website.

SQL käme übrigens nicht in Frage. Leider.
 
Hallo!

deine Idee, das mit Flash darzustellen, finde ich nicht so abwegig, weil sich Flash gerade für visuelle Lösungen nahezu aufdrängt. Die Rechen- , Sortier-und Speicherarbeit würde ich jedoch PHP/XML überlassen.

Nur ein Vorschlag für ein Ablauf-Schema.

Da gibts ein PHP-Script, das die zehn meistbesuchten Seiten auswählt, sortiert etc. Per Flash rufst du nun dieses Script auf, das dann aufgrund der benötigten Daten nur diejenigen Variablen ausgibt, die Flash zur Darstellung auch wirklich benötigt, z.B. die Namen und URL's der zehn meistbesuchten Seiten.

Nun kreierst du für jede Abrufmöglichkeit ein PHP-Script. Das System läuft immer gleich ab:

An PHP: gib XY aus.
Mit Flash: stell XY aufgrund der von PHP geladenen Daten dar.

Naja, nur ein Vorschlag. Ich mach das immer so.

Gruss
 
Hi,

wo Du am besten die Zusammenstellung vornimmst, hängt auch davon ab, welches Nutzungsverhalten Du erwartest:

-> Einzelne Anfragen in PHP behandeln: Einmalig wenig Traffic/Serverzeit, aber u.U. häufige Requests wenn umgeschaltet wird

-> Komplette Rohdaten an Flash: Einmalig u.U. eine Menge Traffic, dafür schnelles und Neuordnen der Statistiken

... vielleicht gibts da auch Kompromisse.

Mal ein sehr simples Beispiel. Wenn Daten in einem Logfile z.B. so an Flash übergeben werden:
Code:
<user id="10925" ip="192.86.177.0">
	<enter ref="google.com" time="-1975132504">
		<site url="news.php" time="-1985232502" />
		<site url="download.php" time="-109612305" />
		<timeout time="-1036204602" />
	</enter>
	<enter ref="tutorials.de" time="-9780415132">
		<site url="news.php" time="-9770415131" />
	</enter>
</user>
<user id="732" ip="127.0.0.1">
	<enter ref="unknown" time="-3321321231">
		<timeout time="-33210000000" />
	</enter>
</user>
kannst Du das in Arrays bzw. Objekten speichern und Dir z.B. die Verweildauer auf einzelnen Seiten, die Referrer, Downloads usw. anzeigen lassen. (In diesem Beispiel wäre der User 10925 z.B. im Moment noch auf der Seite, da kein timeout- bzw. logout-Tag beim zweiten Besuch vorhanden ist.)

Allerdings bin ich wirklich kein Profi was Logfiles und solche Strukturen betrifft; wenn das Format der Daten allerdings steht, kann ich Dir sicher helfen, das in Flash vernünftig einzulesen und umzuformen. ;)

Gruß
.
 
Zurück