SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.07.2003, 13:45:41
bweichel bweichel ist offline
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!
Mit Zitat antworten
  #2  
Alt 03.07.2003, 14:07:39
c4 c4 ist offline
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....
__________________
sic!
--> http://dbCF.de/

Geändert von ­c­4­ (03.07.2003 um 14:10:51 Uhr)
Mit Zitat antworten
  #3  
Alt 03.07.2003, 14:22:11
bweichel bweichel ist offline
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?
Mit Zitat antworten
  #4  
Alt 03.07.2003, 14:35:05
c4 c4 ist offline
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.
__________________
sic!
--> http://dbCF.de/

Geändert von ­c­4­ (03.07.2003 um 14:43:07 Uhr)
Mit Zitat antworten
  #5  
Alt 03.07.2003, 16:38:10
bweichel bweichel ist offline
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
Mit Zitat antworten
  #6  
Alt 03.07.2003, 16:41:13
c4 c4 ist offline
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.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #7  
Alt 03.07.2003, 16:50:59
bweichel bweichel ist offline
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
Mit Zitat antworten
  #8  
Alt 03.07.2003, 16:54:54
c4 c4 ist offline
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.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:25:17 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt