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

renee
 2007-04-18 15:25
#76021 #76021
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Für so etwas eignet sich ein Hash:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl 

# use strict sollte Pflicht sein, verhindert viele Fehler
use strict;
use warnings;

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

# Fehler sollten abgefangen werden
# lexikalische Filehandles haben Vorteile
# 3-Arg-open ist sicherer
open my $fh,'<', $file or die $!;

my %hash;
while ( my $line = <$fh> ) {
    my ($site) = $line =~ /(?:GET|POST)\s([^\s]+)/;
    $hash{$site}++;
}
print "\nAnzahl der Seiten: ", scalar(keys %hash), " \n",
      "-"x25,"\n";

for my $url( keys %hash ){
    print $url," : ",$hash{$url},"\n";
}


(ungetestet)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread apache.log auswerten mit Perl