CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
03.07.2003, 13:45:41
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 196
|
|
Weblogs generieren und auswerten
Hallo,
ich möchte mit PHP eine eigenes Statistik Programm schreiben dass auf meine Bedürfnisse angepaßt ist. Dazu möchte ich die log Dateien des Server auslesen. Allerdings weißt ich nicht genau wie die angeordnet sind. Was steht wo?
Ich habe nun gelesen das ich dem apache sagen kann wie er die log Datein anlegen soll. Das wäre natürlich sehr gut da ich dann alle Daten bereits vorformatiert vorliegen hätte und nicht noch anfangen müßte das Datum ins richtige Format zu bringen.
Ist das möglich? Hat das schon mal jemand gemacht?
Danke für eure Hilfe!
|
03.07.2003, 14:07:39
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Ich schreibe im Praktikum gerade ein Tool, dass die Logfiles des hauseigenen Streamingservers auswertet. Bin momentan bei ca. 2000 Zeilen. Ist eine Heidenarbeit, von der ich jedem abraten würde.
Gibt doch genügend Tools, die die normalen Logfiles auswerten, nimm doch einfach eins von denen - z.B. http://www.jan-winkler.de/dev/d_logf.htm
Ich korrigiere: ca. 2800 Zeilen....
Geändert von c4 (03.07.2003 um 14:10:51 Uhr)
|
03.07.2003, 14:22:11
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 196
|
|
Ja das Tool habe ich auch, aber ich brauche was individuelles für unsere Kunden. Ich will nämlich Suchmaschinoptimerung anbieten und da brauche ich natürlich ein Tool mit dem mann sich online einloggen kann und der Kunde auch damit klar kommt.
Und da die Programme alle sehr kompliziert aufgebaut sind und den Kunden eigentlich nur interessiert wer wann wie wo auf seine Seite gekommen ist muss ich halt ein eigenes Programmieren. Nebenbei will ich dem Kunden aufzeigen für welchen Suchbegriff seine Seite Seite optimiert wurde und wieviel Besucher er über diesen Suchbegriff bekommen hat.
Und es interessiert mich einfach wie die Logs aufgebaut sind. Man lernt immer wieder dazu, wenn man solche Dinge auch mal selbst angeht. Das ist auch ein Grund warum ich es einfach ausprobieren will.
Weißt du wie ich die Log File auf dem Apache individuell anpassen kann?
Eigentlich bräuchte ich für den Anfang nur die IP, Datum Uhrzeit, URL und den Referer. Das würde mir schon reichen. Was bedeutet das "-" in den Logs? Ist das Feld dann nicht gefüllt?
|
03.07.2003, 14:35:05
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Okay, ich hab versucht Dich davon abzubringen. Sag nachher nicht, dass es eine widerliche Arbeit ist. :)
Hab übrigens keine Ahnung wie und wo man den Aufbau des Logfiles einstellt. Wenn Du irgendwo die Möglichkeit finden solltest, all diese Daten in einer Datenbank (mySQL o.ä.) zu speichern und Dich die Speicherung in dieser nicht stört, dann empfehle ich Dir diese Variante. Würde sich viiiiiieeeeel besser machen....
Den Logfile, den ich ausgewertet habe ist so aufgebaut:
172.16.16.47 - - [29/Jan/2003:15:46:29 +0100] "GET admin/index.html HTTP/1.0" 401 0 [Mozilla/4.0 (compatible;MSIE 6.0;Windows NT 5.0;QXW0336o)] [] [UNKNOWN] 0 0 0 0 0 1
Ist halt ein Streamingserver, daher ein paar Felder mehr.
Was beim Apachen ein Minus ist, ist hier eine 0 bzw. UNKNOWN.
Also wenn Du Ideen brauchst, ich hab's gerade hinter mir - frag ruhig.
Edit: Was sich auch zu speichern empfiehlt ist der entstandene Traffic.
Geändert von c4 (03.07.2003 um 14:43:07 Uhr)
|
03.07.2003, 16:38:10
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 196
|
|
Wie machst du das denn? Schreibst du die Daten auch in eine MySQL DB?
Denn man könnte sich ja, relativ einfach eine .csv Tabelle erzeugen lassen und sie dann mit
PHP-Code:
LOAD DATA LOCAL INFILE 'tabelle.csv' REPLACE INTO TABLE tabelle FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
in eine MySQL DB schreiben und weiterverarbeiten.
Ich hab noch ne Frage zu ereg. Kannst sie dir ja mal anschauen. Wenn du ne Lösung hast gib mir Bescheid.
Hier der Link zum Posted ereg
|
03.07.2003, 16:41:13
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Bei regulären Ausdrücken bin ich keine Hilfe.
Die Daten aus dem Logfile verfrachte ich nicht erst in eine DB. Unnötiger Zeit- und Rechenaufwand. Nein, ich lese den gesamten Logfile ein und spiele dann mit den gespeicherten Werten ein wenig rum, sprich ich gebe sie formatiert und gebündelt usw. aus.
|
03.07.2003, 16:50:59
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 196
|
|
Ja das mit den regulären Ausdrücken macht mich auch immer fertig.
Wenn du die Daten vorerst in eine MySQL Datenbank schreibst ist das aber weitaus schneller, als wenn du zuerst mit den Daten herumrechnest. Meine ich mal.
Ich habe es nun wie folgt gemacht:
- log file auslesen
- leerzeichen durch ; setzen
- als csv abspeichern
- die csv Tabelle in die Datenbank schreiben
Dauert alles in allem ca. 5 Sekunden, dann stehen die Daten in der MySQL DB. Was ich nur gerade versuche ist die in den " stehenden Leerzeichen nicht zu bearbeiten. Ansonsten sind das alles einzelne Feld und das wollen wir ja nicht.
Also das ist ein sehr interessantes Projekt. Ich müßte nur wissen wie das mit dem ereg geht.
Muss mich mal noch etwas im Netz umsehen
|
03.07.2003, 16:54:54
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Zum testen liegt mir ein Logfile mit ca. 35.000 Zeilen vor. Das ist durch ein wenig stupides Rumklicken entstanden. Wenn das Skript auf den kompletten Logfile losgelassen wird, dann handelt es sich sehr bald um ein vielfaches dessen.
Aber soll man machen, wie will man. Leichter geht es mit mySQL auf alle Fälle.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:31:21 Uhr.
|