|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
Log-Datei-Auswertung
|
Seitenanfang |
| hi, ich steh hier vor einem kleiner/größeren problem. ich habe hier die log datei eines webserver wofür ich ein script erstellen soll, welchen mir z.b die 10 aktivsten surfen wieder gibt. da ich leiderkein perlprofi bin, weiss ich nicht genau wie ich die abfrage machen soll. z.b. habe ich eine zeile des arrays mit $ip,$datum,$domain,$seiten; wenn ich nun die 10 aktivsten user finden möchte, wie muss ich hier ran gehen. vielen dank für eure hilfe. der zwilling
Datum: 13.10.2005-10:06

|
re: Log-Datei-Auswertung
|
Seitenanfang |
| hmmm, das ist so eine Sache, was bedeutet aktiv? Wenn jemand z.B. eine Seite mit 300 kleinen Bildchen aufruft, dann sind das 301 Hits im Log. Jemand anderes liest nur Textseiten, der kann lange surfen, bis er auf 300 Hits kommt. Könntest Du eventuell ein paar Zeilen Deines logs posten, damit ich sehen kann, was genau im Log steht? Ganz nebenbei: Es gibt tausende von tools, die das machen, was Du möchtest. Es ist sicher nicht notwendig, das Rad neu zu erfinden, es sei denn, es dient Dir zum Erlernen von Perl. Gruss, svenXY
Datum: 13.10.2005-11:49

|
re: Log-Datei-Auswertung
|
Seitenanfang |
| Neu erfinden will ich es nicht. Ist nur Teil einer Lernaufgabe hier bei uns in der Firma (bin Azubi). Natürlich möchte ich auch meinen Umgang mit Perl verbessern. Also hier mal ein paar Zeilen: 66.249.64.35;09/Oct/2005:06:27:46 +0200;www.google.com/bot.html;de/kunden.html 66.249.71.42;09/Oct/2005:06:43:17 +0200;www.google.com/bot.html;fr/emploi.html 66.249.71.14;09/Oct/2005:06:43:35 +0200;www.google.com/bot.html;veranstaltungen-alt/uebersicht/news/hash/280a4c5f92/article/gg45-alliance.html 66.249.64.52;09/Oct/2005:06:43:57 +0200;www.google.com/bot.html;fr.html 66.249.71.50;09/Oct/2005:06:44:01 +0200;www.google.com/bot.html;leistungen.html 212.227.76.83;09/Oct/2005:06:48:02 +0200;www.iccenter.net;robots.txt 212.227.76.83;09/Oct/2005:06:48:03 +0200;www.iccenter.net; 212.227.76.83;09/Oct/2005:06:48:04 +0200;www.iccenter.net;de.html 212.227.76.83;09/Oct/2005:06:48:06 +0200;www.iccenter.net;karriere.html 212.227.76.83;09/Oct/2005:06:48:07 +0200;www.iccenter.net;de/karriere.html 212.227.76.83;09/Oct/2005:06:48:08 +0200;www.iccenter.net;de/karriere/jobboerse.html 212.227.76.83;09/Oct/2005:06:48:10 +0200;www.iccenter.net;de/karriere/leistungen.html 212.227.76.83;09/Oct/2005:06:48:11 +0200;www.iccenter.net;de/karriere/karriere/jobboerse/projektleiterin-sicherheitstechnik.html 212.227.76.83;09/Oct/2005:06:48:12 +0200;www.iccenter.net;de/karriere/karriere/jobboerse/systemingenieur.html 212.227.76.83;09/Oct/2005:06:48:13 +0200;www.iccenter.net;de/karriere/karriere/jobboerse/techniker-sicherheitstechnik.html 212.227.76.83;09/Oct/2005:06:48:14 +0200;www.iccenter.net;de/de/karriere.html
mit aktiv sind nur die seiten gemeint, also keine hits.
Datum: 13.10.2005-11:57

|
re: Log-Datei-Auswertung
|
Seitenanfang |
| OK, wenn Du Azubi bist, solltest Du das eigentlich selbst lösen. Als Tip: Du hast ja schon $ip in Deinem Array stehen. Das was "user" ist, kann ja bei Deinen Daten nur die IP Adresse sein. Zum Zählen bietet sich ein Hash an, also geh einfach durch Deinen Array durch mit foreach, extrahiere die IP und erhöhe den Wert mit dem Schlüssel ip im Hash um eins, etwa so (ungetestet):
my %haeufigkeit; # der Hash mit den Häufigkeiten pro IP Adresse foreach (@array) { $haeufigkeit{$ip}++; # die Häufigkeit für genau diese IP um eins erhöhen }
Das sollte zu schaffen sein. Viel Glück, svenXY
Datum: 13.10.2005-14:06

|
re: Log-Datei-Auswertung
|
Seitenanfang |
| alles klar merci .... ich probier mal mein glück
Datum: 14.10.2005-12:05

|
|

|

|

|
 |

|

|
|