Thread apache.log auswerten mit Perl (5 answers)
Opened by Bschorf at 2007-04-18 14:53

Bschorf
 2007-04-18 14:53
#76020 #76020
User since
2007-04-18
12 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe angefangen ein Perl-script zu schreiben um eine apache.log auszuwerten.
Das Skript soll nur alle aufgerufenden seiten anzeigen, und dahinter Anzeigen wie oft diese Seite aufgerufen wurde.

Mit:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl -w


# apache logdatei analysieren
$file = "access.log";

open IN, $file;

while ( $file = <IN> ) {
# if ($file =~ /]/ ) {
$p1= index ($file,"- -");
$p2= index ($file,'"',$p1+1);
$neu = substr ($file,$p1+38,$p2);
print "$neu \n";
$n ++;
}
#}
print "\nAnzahl der Seiten: $n \n";


So zeigt er mir alle besuchten Seiten an, und wie oft alle vorkommen.
Wie kann ich das ganze nun in einem Array speichern so dass er alle vergleicht und dann für jede aufgerufene Seite einzeln Zählt und das dahinter schreibt??


PS:

Meine access.log sieht so aus:
Code: (dl )
1
2
3
66.249.72.12 - - [26/Mar/2007:06:27:01 +0200] "GET /pub/erferferfer/88736/56?date=20071111&view=d HTTP/1.1" 200 30965 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.12 - - [26/Mar/2007:06:29:47 +0200] "GET /pub/ferferfer/90627/56?date=20071110&view=d HTTP/1.1" 200 30962 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
127.0.0.1 - - [26/Mar/2007:06:30:01 +0200] "GET /moodle/admin/cron.php HTTP/1.0" 200 565 "-" "Wget/1.10.2"
\n\n

<!--EDIT|Bschorf|1176893735-->

View full thread apache.log auswerten mit Perl