Apache Logfiles zeitlich sortieren (zB. mit PERL) 
Author Message
 Apache Logfiles zeitlich sortieren (zB. mit PERL)

Hi,

wuesste jemand eine Moeglichkeit, wie man Webserver Logfiles sotieren
kann, wenn die Eintraege in dem File nicht in der zeitlich korrekten
Reihenfolge stehen?

Ein Einlesen in einen Hash oder Array kommt nicht in Frage, da die
Logfiles eine Groesse von 100 MB und mehr erreichen koennen.

Andererseits muesste die Loesung sehr performant oder zumindest
effektiv sein, dass somit ein 1000maliges Auslesen der Datei nicht in
Frage kommt.

Hat jemand schon mal Bubble Sort oder bessere Sortieralgorythmen in
Perl verwendet oder gibts vielleicht schon fertige Programme in C, die
Logfiles sortieren?

Danke im Voraus

Carsten



Mon, 16 Sep 2002 03:00:00 GMT  
 Apache Logfiles zeitlich sortieren (zB. mit PERL)

Quote:

> Hi,

> wuesste jemand eine Moeglichkeit, wie man Webserver Logfiles sotieren
> kann, wenn die Eintraege in dem File nicht in der zeitlich korrekten
> Reihenfolge stehen?

Sorry, I know enough German to read your message, but not enough to reply
in German.

I'm wondering why you want to sort the logfiles?

If your problem is that your logfile analyser won't understand logfiles
in the wrong order, maybe you should just get a new analyser. My program
analog <http:/www.analog.cx/> will produce the same results whatever order
the logfile is in. I don't know about other programs, although I suspect
that those which claim to do "session" analysis will not work.

Another observation: many logfiles which are not in the correct order are
'nearly' in the correct order. If this is true in your case, it will be
relatively easy to sort them without any performance problems.

Followups set to comp.infosystems.www.servers.unix.

--
Stephen Turner               http://www.statslab.cam.ac.uk/~sret1/
  Statistical Laboratory, 16 Mill Lane, Cambridge CB2 1SB, England
"8th March 2000. National No Smoking Day. Ash Wednesday." (On a calendar)



Mon, 16 Sep 2002 03:00:00 GMT  
 Apache Logfiles zeitlich sortieren (zB. mit PERL)

Quote:
> Hi,

> wuesste jemand eine Moeglichkeit, wie man Webserver Logfiles sotieren
> kann, wenn die Eintraege in dem File nicht in der zeitlich korrekten
> Reihenfolge stehen?

Wie unkorrekt k?nnen die Daten denn sein?  Handelt es sich um wenige
Sekunden oder Minuten?

Ein ganz primitiver Ansatz:

Pseudocode:

while (<>)
{
        $zeit_des_eintrags_in_epoch = berechnen;

        $eintrag[$zeit_des_eintrags_in_epoch] .= $_;

        print $eintrag[$zeit_des_eintrags_in_epoch - 600];

        delete $eintrag[$zeit_des_eintrags_in_epoch - 600];

Quote:
}



Mon, 16 Sep 2002 03:00:00 GMT  
 Apache Logfiles zeitlich sortieren (zB. mit PERL)

Quote:

>Ein Einlesen in einen Hash oder Array kommt nicht in Frage, da die
>Logfiles eine Groesse von 100 MB und mehr erreichen koennen.

Die Eintraege sind meistens "fast" sortiert, deswegen kann
man die Datei in Stuecke aufteilen und diese getrennt sortieren
und abspeichern. Anschliessend liest man die Stuecke mit einer
Art "Mergesort" wieder ein. Das kann man optimieren, wenn man
vorher den Zeitstempel des jeweils ersten und letzten Eintrags
abspeichert und ueberlappende Bereiche feststellt. Dann ist das
"Mergen" auf diese meist recht kurzen Bereiche beschraenkt, der
Rest wird einfach hintereinander ausgegeben.

Bei den Dateigroessen ist ein C-Programm aber wohl deutlich schneller
als perl.

--
                                Michael van Elst


                                "A potential Snark may lurk in every tree."



Mon, 16 Sep 2002 03:00:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Problem mit DBI bei Start von Perl-Script mit Apache-Server

2. Problem with Apache::ParseLog - Doesn't accept logfile name

3. Apache Logfile Parser?

4. Logfile Logfile-0.115

5. Java Applet in HTML Ausgabe mit Perl

6. Wer kennt sich mit Perl gut aus.

7. perl tar file on prep.ai.mit.edu has been fixed

8. Mailen mit Perl

9. Mailen mit Perl

10. Probleme mit linux und perl

11. python talk at MIT, Oct 14

12. Weiterleitung an PHP-Skript mit übergabe von Variablen

 

 
Powered by phpBB® Forum Software