Halihallo Michael
HTTP-Header eigener Wahl als Formatfelder
verwenden.
Nur leider ist die Messung nicht nur auf
Pageviews beschränkt, sondern misst auch
noch weiteres, was nicht durch den Apachen
ausgewertet werden kann, da die Analyse auf
Datenstrukturen der Webapplikation
zurückgreift.
brauchst Du die Analyse in Echtzeit?
Nein. Vom Request zum Report vergehen auch jetzt bis zu einem Tag. Ich habe ja mehrere Statistikserver, die dann die Daten pre-analysiert und kodiert auf den Hauptserver übertragen, wo sie in der mysql-DB gespeichert werden; erst dann sind die Daten für das Reporting "sichtbar". Die Synchronisation geschieht natürlich immer in der Nacht => alle 24 Stunden.
Cookies, die an den Server gesendet wurden?
Auch.
(Das ist übrigens der konkrete Einsatzfall bei mir.)
Aber "beliebige HTTP-Header" war wörtlich gemeint.
Aha! - Jetzt wird's interessant (jetzt begreife ich langsam, was der Apache alles kann ;))... Also jeder beliebige Header vom HTTP-Request kann geloggt werden, also natürlich auch der Set-Cookie: - Header... Das wäre in der Tat eine Lösung; so könnte es wirklich funktionieren.
durch den Apache, auch den Request-String ggfs.
mit Parametern, später um 4:00 morgens kann das
dann ein PERL-Script per Cron analysieren. Spar
Dir doch den einen Zwischenschritt da dieser
Deine Perfomrance extremst ausbremst!
Das versuche ich bereits nach bestem Wissen und
bester Möglichkeit. Dadurch konnte ich die
Performance schon wesentlich verbessern (man denke
nur an die mysql-Datenbankzugriffe, die wegfallen).
Ich dachte insbesondere daran, daß Du bisher irgendwas
programmieren mußt, was Deine Schreibzugriffe synchro-
nisiert. Auch das nimmt Dir der Apache ab.
Das glaube ich jetzt weniger. Er nimmt mir vielleicht die Übertragung der Daten ab, jedoch nicht das Auswerten; die Daten sollen ja schon pre-analysiert auf den Server übertragen werden; die Analyse und Bearbeitung der Daten ist nicht so einfach, als dass sie durch ein "Standardprozedere" gemacht werden könnten; ein bischen muss ich da schon noch programmieren. Aber das wäre ja auch kein Problem, dieses Script läuft ja nur einmal/Tag.
Zum Apache-Log:
Ich finde diesen Lösungsvorschlag sehr interessant. Hättest vielleicht jemand grad einen guten Link zur Hand, wo ich mehr über die Konfiguration des Apache-Logs herausfinden kann? - Ich würde mich zu diesem Lösungsvorschlag gerne etwas näher befassen. Im Moment kann ich diesen Vorschlag jedoch nicht umsetzen, da wir, wie ich bereits gesagt habe, keine Berechtigung auf die Konfiguration haben; aber wenn die eigene Serverfarm steht; würde ich gerne hier weitermachen mit dieser Lösung; kann ja schon mal offline testen.
Eigentlich könnte ich dann auch ein C-Progi schreiben, dass einen bestimmten Port als Daemon abhört und nur dazu dient, die HTTP-Requests auf das eine tag-script (was dann aber gar nimmer existiert) zu loggen; das wäre vielleicht sogar noch schneller als Apache (wenn auch minimal)... Aber man muss es ja nicht übertreiben, zudem müsste ich dann erst wirklich mal C lernen...
Das einzige, was mir an dieser Lösung nicht gefällt ist, dass ich auf den Apache angewiesen bin. Ich hatte bisher die Applikation so programmieren wollen, dass sie in den meisten Webservern und OS läuft; damit würde ich dieses Konzept verlassen... Aber aufgrund der Performance halte ich diesen Verstoss für vertretbar.
Viele Grüsse und danke für den Input
Philipp