Marko: Analyse von Besucherpfaden anhand von Logfiles

Hallo,

ich würde mir gerne mal ein Bild machen, welche Pfade meine Besucher auf der Webseite nehmen. Durchaus auch mal einfach einzelne Besucher nacheinander Betrachten, etc... Kennt jemand ein gutes Visualisierungstool für sowas, am besten Linux, und natürlich am besten kostenlos :-)

Gruss

Marko

  1. Hi!

    ich würde mir gerne mal ein Bild machen, welche Pfade meine Besucher auf der Webseite nehmen. Durchaus auch mal einfach einzelne Besucher nacheinander Betrachten, etc... Kennt jemand ein gutes Visualisierungstool für sowas, am besten Linux, und natürlich am besten kostenlos :-)

    IMHO geht das nur wenn Du schon auf der Seite dafür sorgst das Du user wiedererkennen kannst, also entweder durch cookies oder durch eine Session(was sich gegenseitig nicht ausschließt).
    Ich wüßte nicht wie eine Programm aus normalen Logfiles irgendwelche Pfade nachvollziehen wollte, woran?

    An der IP?
    Geht nicht, kann wecheln oder bei mehreren Leuten gleich sein.

    Am User-Agent?
    Kann durch User und proxy sogar dynamisch manipuliert, oder ganz weggelassen werden.

    Außerdem soll es mehrere Leute geben die mit Windows XP und IE 6 unterwegs sind ;-)

    Was bleibt da noch?
    Wenn ein Programm verspricht das es das trotzdem kann dann lügt der Werbetext(er) meiner Meinung nach.

    Wenn Du so eine Analyse machen willst mußt Du das meines Wissens den Usern auf der Internetseite mitteilen(Datenschutz beachten...), und entsprechend mit Cookies und/oder SessionIDs dafür sorgen dass Du an vernünftige Daten kommst, und natürlich dafür sorgen dass das ganze vernünftig geloggt wird, nicht jeder Apache loggt seit eh und je cookies!

    Grüße
    Andreas

    1. Hi Andreas,

      Ich wüßte nicht wie eine Programm aus normalen Logfiles irgendwelche Pfade nachvollziehen wollte, woran?

      Referrer - genau dafür sind die doch da ...

      Viele Grüße
            Michael

      --
      T'Pol: I apologize if I acted inappropriately.
      V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
      (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
      1. Hi Michael!

        Ich wüßte nicht wie eine Programm aus normalen Logfiles irgendwelche Pfade nachvollziehen wollte, woran?

        Referrer - genau dafür sind die doch da ...

        Wenn der (korrekt) mitgesendet wird(was vermutlich meist der Fall ist) kann man daran in der Tat gute Verknüpfungen herstellen, daran hatte ich gar nicht so gedacht.
        Aber wie soll so eine Auswertung anhand der Logfiles funktionieren?
        Ich parse den ersten eintrag, dann suche ich weiter bis ich einen Eintrag finde mit entsprechendem referer, und vergleiche die anderen Datern wie IP, user_agent udn Zeit, ob das alles denn so grob hinkommen kann, dann dann suche ich von da wieder weiter bis zum nächten passenden Referer... und wenn ich durch binb fange ich beim 2. EIntrag an und mache dasselbe, oder wie funktioniert das? So ne Auswerung dürfte mit den Logfiles des Selfforums aber ne ganze Weile dauern, selbst wenn man das täglich macht. Wir würdest Du sowas effektiv implementieren?

        Grüße
        Andreas

        1. Hallo Andreas,

          Referrer - genau dafür sind die doch da ...

          Wenn der (korrekt) mitgesendet wird(was vermutlich meist der Fall ist) kann man daran in der Tat gute Verknüpfungen herstellen, daran hatte ich gar nicht so gedacht.
          Aber wie soll so eine Auswertung anhand der Logfiles funktionieren?

          da müßten natürlich auch Referer drin sein.
          Was ich nicht weiß kann ich auch nicht darstellen/berechnen!
          Wenn der Referer nicht mitgesendet wird bzw. das Logfile das nicht beinhaltet, könnte man das theoretisch auch über Merkmale der User und einem Timestamp herleiten, aber das ist wackelig und sehr ungenau, das muß man klar sagen!

          Ich parse den ersten eintrag, dann suche ich weiter bis ich einen Eintrag finde mit entsprechendem referer, und vergleiche die anderen Datern wie IP, user_agent udn Zeit, ob das alles denn so grob hinkommen kann, dann dann suche ich von da wieder weiter bis zum nächten passenden Referer... und wenn ich durch binb fange ich beim 2. EIntrag an und mache dasselbe, oder wie funktioniert das? So ne Auswerung dürfte mit den Logfiles des Selfforums aber ne ganze Weile dauern, selbst wenn man das täglich macht. Wir würdest Du sowas effektiv implementieren?

          Habe ich kurz weiter oben beschrieben.
          Visitberechnungen sind aber schon komplizierter.

          Gruß
          Reiner

        2. Hi Andreas,

          Aber wie soll so eine Auswertung anhand der Logfiles funktionieren?

          http://httpd.apache.org/docs/mod/mod_log_config.html#formats

          Ich parse den ersten eintrag, dann suche ich weiter bis ich einen Eintrag finde
          mit entsprechendem referer, und vergleiche die anderen Datern wie IP, user_agent
          udn Zeit, ob das alles denn so grob hinkommen kann, dann dann suche ich von da
          wieder weiter bis zum nächten passenden Referer... und wenn ich durch binb fange
          ich beim 2. EIntrag an und mache dasselbe, oder wie funktioniert das?

          Ich will gar keine Wege finden. Woher weiß ich denn, ob der Anwender nicht die Zürück-Taste seines Browsers verwendet hat?
          Ich will lediglich pro URL wissen, welcher Link als nächster angeklickt wurde. Und dafür reicht mir eine zweidimensionale Tabelle über URL und Referrer - beides steht in jedem Request drin.

          So ne Auswerung dürfte mit den Logfiles des Selfforums aber ne ganze Weile dauern, selbst wenn man das täglich macht. Wir würdest Du sowas effektiv implementieren?

          Wenn Du wirklich Wege verfolgen willst, dann würde ich an Deiner Stelle alle Wege parallel erfassen, also erst mal die Requests nach Identifikatoren sortieren.
          Beispiel: Für jeden Identifikator (sagen wir mal für jede IP-Adresse) legst Du eine Datenstruktur an (einen Array, adressiert über einen Hash über die Identifikatoren) und fügst mit "pop" jeweils die nächste Zeile dort an. Wenn Du mit der Log-Datei fertig bist, hast Du pro Identifikator eine Liste von Zeilen im Hauptspeicher; diese Listen kannst Du dann nacheinander analysieren, um dann beispielsweise mehrere Besucher mit identischem Identifikator zu erkennen.
          (Letzteres wird aber immer scheitert, wenn ich mehrere Fenster auf Deiner Site offen habe und mal hier und mal dort surfe - dann "bin ich zwei Besucher".)

          Aber was hast Du davon, wenn Du die Häufigkeit der Pfade kennst?

          Viele Grüße
                Michael

          --
          T'Pol: I apologize if I acted inappropriately.
          V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
          (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
    2. Hallo,

      IMHO geht das nur wenn Du schon auf der Seite dafür sorgst das Du user wiedererkennen kannst, also entweder durch cookies oder durch eine Session(was sich gegenseitig nicht ausschließt).

      es gibt noch viel mehr Dinge, die Du teilweise auch unten beschreibst! Cookies sind der Idealfall, Sessions wären auch möglich.

      Ich wüßte nicht wie eine Programm aus normalen Logfiles irgendwelche Pfade nachvollziehen wollte, woran?

      An der IP?
      Geht nicht, kann wecheln oder bei mehreren Leuten gleich sein.

      Am User-Agent?
      Kann durch User und proxy sogar dynamisch manipuliert, oder ganz weggelassen werden.

      Außerdem soll es mehrere Leute geben die mit Windows XP und IE 6 unterwegs sind ;-)

      Was bleibt da noch?
      Wenn ein Programm verspricht das es das trotzdem kann dann lügt der Werbetext(er) meiner Meinung nach.

      Das würde ich so nicht behaupten und zwar unter folgendem Hintergrund:

      Du hast oben schon Beispiele gebracht, wie man einen User anhand eines Indizes erkennen könnte. Oder aber auch an einem anderen. Du gehst direkt zu den Fällen über, daß erstens mehrere gleichzeitig mit gleicher IP unterwegs sein könnten und zweitens bestimmte Daten nicht vorhanden sind. Dies kann natürlich sein!
      Aber spinnen wir den Gedanken der Erkennungsmerkmale mal weiter und verbinden mehrere Merkmale:

      Was glaubst Du, wieviele Leute mit gleicher IP (u.U. vom Proxy), gleichem Browser, gleicher Farbtiefe, gleichem Betriebssystem, usw. sich in einem bestimmten Zeitintervall in ein und der gleichen Struktur bewegen. Selbst bei großen Sites kann anhand dieser Datenverbindungen noch einzelne Leute sehr gut erkennen!
      Wenn dies nicht der Fall ist, was aufgrund meiner Erfahrung wirklich selten ist, muß man dazu sagen, daß es sich ja generell um Statistik handelt. D.h. den "Werbetexter", der behauptet, seine Darstellungen sind 100%ig richtig, könnte man natürlich nicht ernst nehmen, aber daß man generell keine Aussagen, Tendenzen usw. darstellen kann, ist genauso falsch!!!

      Wenn Du so eine Analyse machen willst mußt Du das meines Wissens den Usern auf der Internetseite mitteilen(Datenschutz beachten...), und entsprechend mit Cookies und/oder SessionIDs dafür sorgen dass Du an vernünftige Daten kommst, und natürlich dafür sorgen dass das ganze vernünftig geloggt wird, nicht jeder Apache loggt seit eh und je cookies!

      Meine obigen Aussagen bezogen sich nicht auf reine Logfiles, d.h. wir versuchen über Pixelmeßmethoden (JavaScript) noch an andere Daten zu kommen. Aber auch aus Logfiles wären Aussagen machbar, nur nicht so einfach, weil weniger spezifische Daten vorhanden sind.

      Das muß man einfach klar sehen und so darstellen. Generell zu sagen, es geht gar nicht bzw. das, was man da statistisch darstellt, stimmt 100%ig, ist IMHO beides falsch.

      Gruß
      Reiner

      1. Hi Reiner,

        Was glaubst Du, wieviele Leute mit gleicher IP (u.U. vom Proxy), gleichem Browser, gleicher Farbtiefe, gleichem Betriebssystem, usw. sich in einem bestimmten Zeitintervall in ein und der gleichen Struktur bewegen.

        alle Mitarbeiter derselben Firma, die aufgrund der Flottenpolitik der DV-Abteilung denselben Browser mit derselben Konfiguration zwangsweise auf ihrem versiegelten Arbeitsplatzrechner installiert bekommen haben und über einen gemeinsamen Proxy ins Netz gehen ...

        In der Tat wird die Wahrscheinlichkeit bei zunehmender Anzahl von Indizien immer kleiner. Aber sie wird nie Null.

        Viele Grüße
              Michael

        --
        T'Pol: I apologize if I acted inappropriately.
        V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
        (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
        1. Hi,

          Was glaubst Du, wieviele Leute mit gleicher IP (u.U. vom Proxy), gleichem Browser, gleicher Farbtiefe, gleichem Betriebssystem, usw. sich in einem bestimmten Zeitintervall in ein und der gleichen Struktur bewegen.

          das stimmt, macht sich sicher besonders im Intranet dieser Firma bemerkbar.

          alle Mitarbeiter derselben Firma, die aufgrund der Flottenpolitik der DV-Abteilung denselben Browser mit derselben Konfiguration zwangsweise auf ihrem versiegelten Arbeitsplatzrechner installiert bekommen haben und über einen gemeinsamen Proxy ins Netz gehen ...

          In der Tat wird die Wahrscheinlichkeit bei zunehmender Anzahl von Indizien immer kleiner. Aber sie wird nie Null.

          Habe ich auch nicht behauptet!
          Aber das ist eben bei Statistik so. Nehmen wir fairerweise dazu mal ein anderes Beispiel, was -wie ich finde- gut paßt:

          A) Bäckerei, kleines Dorf, niedrig frequentiert
          B) Kaufhaus, Großstadt, hoch frequentiert

          A) Der Bäcker kennt die Leute, die Menge ist überschaubar, usw.
          -> Statistik sehr einfach. Leute und Kaufverhalten fast exakt bestimmbar.
          B) Der Mensch an der Kasse kennt die Leute fast gar nicht, er weiß auch nicht, wo die sich in der letzten viertel Stunde überall aufgehalten haben (Interesse), er sieht nur, was sie zu Kasse bringen.

          Man kann beides nicht direkt vergleichen, es gibt große Unterschiede in den Möglichkeiten, einzelne User zu bewerten.
          Aber bei beiden ist es möglich, Aussagen zu treffen. In dem Beispiel B) u.U. nur über das Kaufverhalten, aber auch das ist eine vielleicht gute Möglichkeit. Der Vorteil hier liegt dann u.U. auch in der Menge der Daten.

          Gruß
          Reiner

      2. Hallo Reiner!

        Du hast oben schon Beispiele gebracht, wie man einen User anhand eines Indizes erkennen könnte. Oder aber auch an einem anderen. Du gehst direkt zu den Fällen über, daß erstens mehrere gleichzeitig mit gleicher IP unterwegs sein könnten und zweitens bestimmte Daten nicht vorhanden sind. Dies kann natürlich sein!
        Aber spinnen wir den Gedanken der Erkennungsmerkmale mal weiter und verbinden mehrere Merkmale:

        Was glaubst Du, wieviele Leute mit gleicher IP (u.U. vom Proxy), gleichem Browser, gleicher Farbtiefe, gleichem Betriebssystem, usw. sich in einem bestimmten Zeitintervall in ein und der gleichen Struktur bewegen.

        was ist "eine Struktur"?
        Ich denke das Du Recht hast. Wenn Du tatsächlich so viele Daten sammeln kannst, die Zeit mitberücksichtigst, dazu den Referer(der wiederum bei der Pixel-Methode fehlt!), kann man sicher mit einer ausgeklügelten Kombination bestimmter Merkmale zu einer guten - wenn auch nicht 100%igen Unterscheidung komen, was für Tendenzen reichen sollte, 100%ig interessiert das eh keinen ;-)

        Selbst bei großen Sites kann anhand dieser Datenverbindungen noch einzelne Leute sehr gut erkennen!

        Man sollte vielleocht noch die Aurchitektur der Seite berücksichtigen, also so eine Art Baum in einem Hash abbilden und dann in diesem Hash ausgehend von einer fraglichen Seite prüfen zu welchen Seiten der direkte "Weg" überhaupt möglich ist.

        Meine obigen Aussagen bezogen sich nicht auf reine Logfiles, d.h. wir versuchen über Pixelmeßmethoden (JavaScript) noch an andere Daten zu kommen. Aber auch aus Logfiles wären Aussagen machbar, nur nicht so einfach, weil weniger spezifische Daten vorhanden sind.

        Dafür hätte man den Referer, der da sicher _sehr_ hilfreich bei wäre! Außerdem spart man Performance ;-)

        Aber mal kurz ne Frage zu der "pixelmethode", wenn ich sowas machen sollte würde ich ich halt ein 1x1 Bild als html <img> einbinden, und als src eine Script angeben, welches ein 1x1.gif zurückgibt. Dann erhält der Server ja die ganzen Header-Angaben, und per Javascript könnte man an die src-url noch parameter mit allen möglichen ausgelesenen System-Infos anhängen. Ist es das was Du meinst oder machst Du das nur mit Javascript? Dann würdest Du aber Besucher mit deaktiviertem Javascript nicht mitbekommen.

        Das muß man einfach klar sehen und so darstellen. Generell zu sagen, es geht gar nicht bzw. das, was man da statistisch darstellt, stimmt 100%ig, ist IMHO beides falsch.

        Habt beide Recht ;-)

        Aber wenn Du solche angaben live analysierenb willst, dann ist das aber ein erhebliche Aufwand für den Server, kommt jetzt drauf an was genau gemacht werden soll, aber ich wüßte keinen besonders performanten Weg solche Daten zu analysieren?!

        Grüße

        Andreas

        1. Hallo,

          was ist "eine Struktur"?

          z.B. eine Domain.

          Ich denke das Du Recht hast. Wenn Du tatsächlich so viele Daten sammeln kannst, die Zeit mitberücksichtigst, dazu den Referer(der wiederum bei der Pixel-Methode fehlt!), kann man sicher mit einer ausgeklügelten Kombination bestimmter Merkmale zu einer guten - wenn auch nicht 100%igen Unterscheidung komen, was für Tendenzen reichen sollte, 100%ig interessiert das eh keinen ;-)

          Wieso sollte mir bei dieser Meßmethode der Referer fehlen?

          Selbst bei großen Sites kann anhand dieser Datenverbindungen noch einzelne Leute sehr gut erkennen!
          Man sollte vielleocht noch die Aurchitektur der Seite berücksichtigen, also so eine Art Baum in einem Hash abbilden und dann in diesem Hash ausgehend von einer fraglichen Seite prüfen zu welchen Seiten der direkte "Weg" überhaupt möglich ist.

          Die Struktur bekomme ich durch die Daten geliefert.
          Eine Aneinanderkettung von Vektoren liefert den Gesamtweg.

          Meine obigen Aussagen bezogen sich nicht auf reine Logfiles, d.h. wir versuchen über Pixelmeßmethoden (JavaScript) noch an andere Daten zu kommen. Aber auch aus Logfiles wären Aussagen machbar, nur nicht so einfach, weil weniger spezifische Daten vorhanden sind.
          Dafür hätte man den Referer, der da sicher _sehr_ hilfreich bei wäre! Außerdem spart man Performance ;-)

          s.o.

          Aber mal kurz ne Frage zu der "pixelmethode", wenn ich sowas machen sollte würde ich ich halt ein 1x1 Bild als html <img> einbinden, und als src eine Script angeben, welches ein 1x1.gif zurückgibt. Dann erhält der Server ja die ganzen Header-Angaben, und per Javascript könnte man an die src-url noch parameter mit allen möglichen ausgelesenen System-Infos anhängen. Ist es das was Du meinst oder machst Du das nur mit Javascript? Dann würdest Du aber Besucher mit deaktiviertem Javascript nicht mitbekommen.

          So wird das genau gemacht!
          Wenn JavaScript deaktiviert ist, bekomme ich nur den Seitenaufruf selbst und alles, was in den Environmentvariablen mitgeliefert wird, mit.

          Das muß man einfach klar sehen und so darstellen. Generell zu sagen, es geht gar nicht bzw. das, was man da statistisch darstellt, stimmt 100%ig, ist IMHO beides falsch.
          Habt beide Recht ;-)

          Aber wenn Du solche angaben live analysierenb willst, dann ist das aber ein erhebliche Aufwand für den Server, kommt jetzt drauf an was genau gemacht werden soll, aber ich wüßte keinen besonders performanten Weg solche Daten zu analysieren?!

          Versuche eine Möglichkeit zu finden.
          Wir arbeiten an unserem System (nebenbei) seit ca. 3 Jahren. Wenn Du uns Tips geben könntest, wäre das gut! :-)

          Gruß
          Reiner

          1. Hi!

            Wieso sollte mir bei dieser Meßmethode der Referer fehlen?

            Wenn Du nicht auf den eigentlichen Server zugreifst, sondern nur eine Grafik von extern(also Deinem Server) einbindest, dann steht im Referer, den Du auf Deinem Server empfängst "lediglich" der URI der Seite die der Besucher aufgerufen hat, nicht die Seite wo er hergekommen ist, diese Info bekommt nur der "echte" Server auf dem die html-Seiteten liegen, und der bekommt dies Information beim direkten Request der html-Seite.

            Die Struktur bekomme ich durch die Daten geliefert.
            Eine Aneinanderkettung von Vektoren liefert den Gesamtweg.

            Was bezeichnest Du jetzt als Verktoren (bin kein Informatiker, aber unter Vektoren verstehe ich gerichtete Kraft oder sowas ;-))?
            Oder bezeichnest Du "einen Satz" Informationen zu einem Request als Vektor?

            Aber wenn Du solche Angaben live analysieren willst, dann ist das aber ein erhebliche Aufwand für den Server, kommt jetzt drauf an was genau gemacht werden soll, aber ich wüßte keinen besonders performanten Weg solche Daten zu analysieren?!

            Versuche eine Möglichkeit zu finden.
            Wir arbeiten an unserem System (nebenbei) seit ca. 3 Jahren. Wenn Du uns Tips geben könntest, wäre das gut! :-)

            Für Performance-Fragen bin ich nicht zuständig, da ist Michael Schröpl der Fachmann hier :-)
            Da Ihr Euch so lange damit beschäftigt habt kann ich vor allem als nicht-Informatiker vermutlich nichts dazu  beitragen, ich kann nur auf eien kleine Diskussion verweisen die ich kürzlich mit Philipp und Michael geführt habe "perfomanter Logging-Server" oder so ähnlich </archiv/2003/2/38897/#m213367>, aber da ging es weniger um dei Analyse, merh ums Loggen an sich. ich war davon ausgegangen das es das beste ist einen eigenen Mikro-HTTP-Server zu schreiben der nur diesen einen 1x1-Pixel.gif Request entgegennimmt und direkt loggt, das als C-Programm geschrieben... aber nach ein paar Überlegungen und Versuchen bin ich doch zu der Überzeugung gelangt das wenn ein hierfür optimierter Apache zu langsam würde, müßte ich schon längst nicht mehr arbeiten und würde durch die Karibik schippern, wenn man mal grob hochrechnet in welchen Dimensionen dann Requests kommen müßten, und das was alleine an Traffic kostet. Und ich bin auch der Meinung das es auf alle Fälle ausreicht den Apachen zum loggen zu verwenden und anschließend ein Script die Analyse durchführen läßt. Wenn man das vernünftig programmiert hat sollte man damit lange auskommen, da man ja auf Lastspitzen Rücksicht nehmen kann und die Analyse-Last über den Tag verteilen kann. Erst wenn man damit an Grenzen stößt würde ich evtl. ein eigenes C-Programm schreiben (oder besser ein Fachmann der das ganez auch performanter als ein PRL-Script mit 100 eingebundenen Modulen hinbekommt ;-)) welches die Analyse normalerweise in Echtzeit vornimmt, und vielleicht trotzdem auf Lastspitzen reagieren kann indem es Teile der Analyse auf morgens 4 Uhr verschiebt, oder eher 2 Dämons, der eine der die HTTP-Requests annimmt und analysiert, und bei zu viel Last nicht mehr analysiert und wie gehabt in eine Log-File schreibt, und der andere Dämon behält die gesamt-Auslastung im Auge, wenn es mal etwas entspannter zugeht nimmt er sich die Logfile vor und analysiert...
            Und ich denke die Art wie man die Analyse vornimmt kann enorme Performance-Unterschiede bedeuten.

            Naja, ich finde das Thema interessant, habe aber wenig Ahnung ;-)

            Grüße
            Andreas

            1. Guten Morgen,

              Wieso sollte mir bei dieser Meßmethode der Referer fehlen?

              Wenn Du nicht auf den eigentlichen Server zugreifst, sondern nur eine Grafik von extern(also Deinem Server) einbindest, dann steht im Referer, den Du auf Deinem Server empfängst "lediglich" der URI der Seite die der Besucher aufgerufen hat, nicht die Seite wo er hergekommen ist, diese Info bekommt nur der "echte" Server auf dem die html-Seiteten liegen, und der bekommt dies Information beim direkten Request der html-Seite.

              den Referer kann ich dennoch bekommen!

              Die Struktur bekomme ich durch die Daten geliefert.
              Eine Aneinanderkettung von Vektoren liefert den Gesamtweg.
              Was bezeichnest Du jetzt als Verktoren (bin kein Informatiker, aber unter Vektoren verstehe ich gerichtete Kraft oder sowas ;-))?
              Oder bezeichnest Du "einen Satz" Informationen zu einem Request als Vektor?

              Ein Vektor ist die Darstellung einer Richtung mit einer Größe. In der Physik könnte es eine Kraft, Geschwindigkeit, ein Magnetfeld, usw. sein, in unserem Fall ist es einfach der Weg von einer auf eine andere Seite. Die Größen, die dahinter stehen, sind die Merkmale des Users.

              Aber wenn Du solche Angaben live analysieren willst, dann ist das aber ein erhebliche Aufwand für den Server, kommt jetzt drauf an was genau gemacht werden soll, aber ich wüßte keinen besonders performanten Weg solche Daten zu analysieren?!

              Versuche eine Möglichkeit zu finden.
              Wir arbeiten an unserem System (nebenbei) seit ca. 3 Jahren. Wenn Du uns Tips geben könntest, wäre das gut! :-)

              Für Performance-Fragen bin ich nicht zuständig, da ist Michael Schröpl der Fachmann hier :-)
              Da Ihr Euch so lange damit beschäftigt habt kann ich vor allem als nicht-Informatiker vermutlich nichts dazu  beitragen, ich kann nur auf eien kleine Diskussion verweisen die ich kürzlich mit Philipp und Michael geführt habe "perfomanter Logging-Server" oder so ähnlich </archiv/2003/2/38897/#m213367>, aber da ging es weniger um dei Analyse, merh ums Loggen an sich. ich war davon ausgegangen das es das beste ist einen eigenen Mikro-HTTP-Server zu schreiben der nur diesen einen 1x1-Pixel.gif Request entgegennimmt und direkt loggt, das als C-Programm geschrieben... aber nach ein paar Überlegungen und Versuchen bin ich doch zu der Überzeugung gelangt das wenn ein hierfür optimierter Apache zu langsam würde, müßte ich schon längst nicht mehr arbeiten und würde durch die Karibik schippern, wenn man mal grob hochrechnet in welchen Dimensionen dann Requests kommen müßten, und das was alleine an Traffic kostet. Und ich bin auch der Meinung das es auf alle Fälle ausreicht den Apachen zum loggen zu verwenden und anschließend ein Script die Analyse durchführen läßt. Wenn man das vernünftig programmiert hat sollte man damit lange auskommen, da man ja auf Lastspitzen Rücksicht nehmen kann und die Analyse-Last über den Tag verteilen kann. Erst wenn man damit an Grenzen stößt würde ich evtl. ein eigenes C-Programm schreiben (oder besser ein Fachmann der das ganez auch performanter als ein PRL-Script mit 100 eingebundenen Modulen hinbekommt ;-)) welches die Analyse normalerweise in Echtzeit vornimmt, und vielleicht trotzdem auf Lastspitzen reagieren kann indem es Teile der Analyse auf morgens 4 Uhr verschiebt, oder eher 2 Dämons, der eine der die HTTP-Requests annimmt und analysiert, und bei zu viel Last nicht mehr analysiert und wie gehabt in eine Log-File schreibt, und der andere Dämon behält die gesamt-Auslastung im Auge, wenn es mal etwas entspannter zugeht nimmt er sich die Logfile vor und analysiert...
              Und ich denke die Art wie man die Analyse vornimmt kann enorme Performance-Unterschiede bedeuten.

              Da hast Du Recht, wir schaffen, wenn ich jetzt noch richtig informiert bin, ca. 10GB Logfiles mit Visitsberechnungen innerhalb eines Tages auf einem 700er P3, 500MB zu importieren.
              Das ist aber nur der Import, wird nur einmalig gemacht und die Darstellung ist schneller!

              Gruß
              Reiner

              1. Hi!

                den Referer kann ich dennoch bekommen!

                Mit Javascript oder wie?

                Da hast Du Recht, wir schaffen, wenn ich jetzt noch richtig informiert bin, ca. 10GB Logfiles mit Visitsberechnungen innerhalb eines Tages auf einem 700er P3, 500MB zu importieren.

                Siehst Du, kauft man noch einen schnellen Server mit 2 XEONs und 4 GB RAM schnellen SCSI Platten + RAID und optimiertem Solaris oder Linux... dann schaffst Du sicher erheblich mehr als 30 GB, wären min. 1 TB im Monat, das muss man erstmal haben(und bezahlen) ;-)

                Grüße
                Andreas

                1. Hi,

                  Da hast Du Recht, wir schaffen, wenn ich jetzt noch richtig informiert bin, ca. 10GB Logfiles mit Visitsberechnungen innerhalb eines Tages auf einem 700er P3, 500MB zu importieren.

                  Siehst Du, kauft man noch einen schnellen Server mit 2 XEONs und 4 GB RAM schnellen SCSI Platten + RAID und optimiertem Solaris oder Linux... dann schaffst Du sicher erheblich mehr als 30 GB, wären min. 1 TB im Monat, das muss man erstmal haben(und bezahlen) ;-)

                  Du hast nicht gelesen! Ich habe nicht gesagt, daß wir einen Server mit 700 MHz einsetzen, weil wir keine Kohle haben oder so.
                  Ich habe nur gesagt, daß dies so schnell war.
                  Bzgl. der 30GB muß ich Dir leider sagen, daß Du wirklich nicht weißt, wovon Du sprichst!

                  Gruß
                  Reiner

                  1. hi!

                    Du hast nicht gelesen!

                    doch, habe ich ;-)

                    Ich habe nicht gesagt, daß wir einen Server mit 700 MHz einsetzen, weil wir keine Kohle haben oder so.

                    das habe ich nicht behauptet...

                    Ich habe nur gesagt, daß dies so schnell war.

                    und ich habe nur gesagt das man meiner bescheidenen Meinung nach mit einem etwas schnelleren noch recht günstigen Server Kapazitäten im Terabyte-Bereich pro Monat kommen würde, und hier bekommt man eher mit Speicherplatz und Traffic Probleme als mit der Software, das wollte ich damit sagen.

                    Bzgl. der 30GB muß ich Dir leider sagen, daß Du wirklich nicht weißt, wovon Du sprichst!

                    Das hatte ich im Posting zuvor ja versucht deutlich zu machen - aber ich finds nunmal interessant.
                    Aber was hast Du gegen die 30 GB? Würde mich schon interessieren!

                    Grüße
                    Andreas

                    1. Hi,

                      Aber was hast Du gegen die 30 GB? Würde mich schon interessieren!

                      beschäftige Dich _praktisch_ mit dem Thema!
                      Du wirst sehr schnell erkennen, worin die Unterschiede in der Verarbeitung von 1GB Daten aus LogFiles zu der gleichen Datenmenge für mp3, mpg, wasweißich bestehen....

                      Gruß
                      Reiner

    3. Hallo Andreas,

      Ich wüßte nicht wie eine Programm aus normalen Logfiles irgendwelche Pfade nachvollziehen wollte, woran?

      stimmt schon, wenn Du von großen Datenmengen ausgehst. Bei meinem Problem geht es um eine Seite mit ca. 300 Besuchern am Tag. Da ist es so, dass es eher selten vorkommt, dass auch nur 2 Besucher gleichzeitig sich auf der Seite bewegen.
      Die Pfade, die ein Besucher genommen hat lassen sich deshalb schon per Logfile mit bloßem Auge ablesen ist aber sehr mühsam. Wenn die gleiche IP-Adresse hinereinander oder mit nur wenigen Zeilen dazwischen, und vor allem mit Abständen von Sekunden oder 2-3 Minuten auftaucht, kann man wohl davon ausgehen, dass es die gleiche Person ist (vor allem wenn der Browsertyp übereinstimmt). Und selbst wenn es mal nicht stimmt, ich möchte ja nur Trends rausfiltern (ist die Navigation intuitiv, finden die Leute die Links, was interessiert...), und da sind kleinere Ungenauigkeiten zu verschmerzen.
      Es geht also garnicht so um eine hochprofessionelle Analysetools oder so.

      Gruss

      Marko

      1. Moin!

        Und selbst wenn es mal nicht stimmt, ich möchte ja nur Trends rausfiltern (ist die Navigation intuitiv, finden die Leute die Links, was interessiert...), und da sind kleinere Ungenauigkeiten zu verschmerzen.

        Was interessiert, findest du anhand der absoluten Zugriffszahlen heraus. Also die Menge der Seitenabrufe zählen, und gut. Das kann ein Tool wie Webalizer prima erledigen.

        "Ist die Navigation intuitiv" wirst du durch Klickpfade nicht herausfinden können. Dazu müßtest du dem Besucher über die Schulter gucken können und in seinem Kopf drinsitzen, um zu erfahren, was er denkt. Denn was bedeutet es, wenn ein Besucher zuerst irgendeine Seite ansurft, dann irgendeine andere Seite, dann nocheine Seite? Oder wenn er die erste Seite ansurft, dann die zweite Seite, dann die dritte? Du kannst einfach nicht wissen, ob da jemand hilflos sucht, ob er auf deiner Seite was interessantes findet, oder ob er nur stöbert, oder ob er zielgerichtet die gesamte Site absurft.

        "Finden die Leute die Links" hingegen ist als Frage exakt dann zu beantworten mit "Ja, offensichtlich", wenn sie einen neuen Link klicken und damit eine neue Seite abrufen. Du kannst außerdem aber keine Rückschlüsse auf die Sichtbarkeit der Links ziehen, weil du ja wieder nicht weißt, warum ein Link geklickt oder (spannender) nicht geklickt wurde. Das kann daran liegen, dass ihn niemand findet, oder dass er nicht genug beschreibt, was dahinter steckt, oder es kann sein, dass keiner deiner Besucher den Link interessant findet, weil z.B. das dahinter verlinkte Thema so dermaßen abwegig vom restlichen Thema deiner Seite ist, dass sich keiner dafür interessiert.

        Also zusammenfassend: Alles, was sich technisch zählen läßt, läßt sich mit vorhandenen Tools erfassen und auswerten. Alles, was darauf abzielt, psychologisch dahinterzukommen, wie die Website wirkt, kann mit rein technischer Auswertung der Logfiles nicht erfaßt werden.

        - Sven Rautenberg

  2. Hallo,

    ich würde mir gerne mal ein Bild machen, welche Pfade meine Besucher auf der Webseite nehmen. Durchaus auch mal einfach einzelne Besucher nacheinander Betrachten, etc... Kennt jemand ein gutes Visualisierungstool für sowas, am besten Linux, und natürlich am besten kostenlos :-)

    wir arbeiten gerade an sowas, läuft zur Zeit unter Linux, wurde aber auch schon auf Windows portiert (normalerweise ist es ja umgekehrt). Kostenlos ist es aber leider nicht: http://www.w3research.com

    Pfadberechnungen sind schon umgesetzt, d.h. daraus werden dann die Visits berechnet. Eine Visualisierung dazu steht gerade an, ist aber rel. komplex. Das liegt u.a. daran, daß man einfache Bäume bei den meisten unserer Kunden gar nicht angeben könnte. Meist sind es Netze mit vielen Nebeneingängen und Querverlinkungen. Bei z.T. mehreren tausend Seiten, kann das recht komplex aussehen.

    Gruß
    Reiner

    1. Hi Reiner,

      Pfadberechnungen sind schon umgesetzt, d.h. daraus werden dann die Visits berechnet.

      auf welchem Identitätsprinzip basiert dieses Modell?

      Eine Visualisierung dazu steht gerade an, ist aber rel. komplex.
      Das liegt u.a. daran, daß man einfache Bäume bei den meisten unserer
      Kunden gar nicht angeben könnte.

      Reicht es nicht, pro Knoten die Verteilung der Ein- und Ausgänge zu messen?

      Die konkreten Wege (mit allen Fehlversuchen) würden mich eh nicht interessieren ...
      die relative Attraktivität eines Links auf einer Seite hingegen sehr wohl.

      Viele Grüße
            Michael

      --
      T'Pol: I apologize if I acted inappropriately.
      V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
      (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
      1. Hallo Micha,

        Pfadberechnungen sind schon umgesetzt, d.h. daraus werden dann die Visits berechnet.

        auf welchem Identitätsprinzip basiert dieses Modell?

        siehe [pref:t=40665&m=222637]

        Eine Visualisierung dazu steht gerade an, ist aber rel. komplex.
        Das liegt u.a. daran, daß man einfache Bäume bei den meisten unserer
        Kunden gar nicht angeben könnte.

        Reicht es nicht, pro Knoten die Verteilung der Ein- und Ausgänge zu messen?

        Die konkreten Wege (mit allen Fehlversuchen) würden mich eh nicht interessieren ...
        die relative Attraktivität eines Links auf einer Seite hingegen sehr wohl.

        Genau so ist das auch geplant. Das Problem ist, das ordentlich darzustellen. Wir werden das wohl in SVG versuchen, d.h. daß man reinzoomen kann.

        Gruß
        Reiner