Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Server Log-Dateien vergleichen

Alles zum Thema: Robots, Spider, Logfile-Auswertung und Reports
Neues Thema Antworten
Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 18.08.2009, 12:00

Hallo,

ich möchte analysieren - ob jemand gestern und heute mit der selben IP-Adresse auf meiner Seite war.

Wie kann ich die IP-Adressen von 2 Server-Log-Dateien (Beispiel Datei von heute und gestern) miteinander vergleichen und bei Gleichheit ausgeben lassen?

WinMerge usw. habe ich schon probiert - geht damit irgendwie nicht!

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 18.08.2009, 14:47

Auf die Schnelle als bash Kommando:

Code: Alles auswählen

comm -12 <&#40;sort <&#40;cut -d- -f1 logdatei1&#41; | uniq&#41; <&#40;sort <&#40;cut -d- -f1 logdatei2&#41;|uniq&#41;
Bei mir sehen log-Zeilen so aus:

111.111.111.111 - - "GET /file" 200 User Agent etc.

daher habe ich eben bei cut das "-" als Trennzeichen gewählt...

Könnte sein, dass da noch kleine Gedankenfehler drin sind. Mit einfachen Testlogs funzte das.

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 18.08.2009, 15:32

Hmm, keine Ahnung was ein Bash-Kommando ist. Muss man da einen eigenen Server haben? Habe ich leider nicht. Gibt es da keine Software oder ein Tool?

proit
PostRank 8
PostRank 8
Beiträge: 664
Registriert: 15.10.2007, 12:05

Beitrag von proit » 18.08.2009, 15:46

Willst du das dauerhaft machen oder nur einmalig, für einen einzigen Fall? Bei letzterem kannst du unter Windows beide Dateien aufmachen, Strg+F drücken im Editor deiner Wahl und dann die IP Eintragen.

Ansonsten müsste man natürlich noch den Webserver, das Logformat etc. kennen, um das parsen zu können, bzw. ein Programm oder ein Script wie chris es geschieben hat, vorzuschlagen. Für was das gut sein soll, ist mir allerdings nicht ersichtlich. Welche Intension steckt dahinter?

Anonymous

Beitrag von Anonymous » 18.08.2009, 15:50

Michael1967 hat geschrieben:ich möchte analysieren - ob jemand gestern und heute mit der selben IP-Adresse auf meiner Seite war.
du kannst zwar prüfen ob eine IP die gestern schon da war auch heute wieder da ist... aber ob es dieselbe person ist dürfte nur bei festen IPs klar sein... der normale User hat jeden Tag ne neue IP...

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 18.08.2009, 15:57

du kannst zwar prüfen ob eine IP die gestern schon da war auch heute wieder da ist... aber ob es dieselbe person ist dürfte nur bei festen IPs klar sein... der normale User hat jeden Tag ne neue IP...
Um das auf Dauer erkennen zu können reicht ja eigentlich der Bereich aus dem die IP-kommt.

Leider steht in den Log-Files nicht nur die IP, sondern auch noch andere Dinge. Deswegen ist ein Vergleich für mich unmöglich. Da müsste man ja erstmal die IPs rausfiltern bevor man diese analysieren kann.

Werd dann wohl die IPs in der Datenbank speichern müssen und von dort aus vergleichen, gg

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 18.08.2009, 18:32

Hi Michael,

ähm, also einen Server brauchst Du für den Befehl oben nicht direkt - es reicht einfach ein Unix/Linux OS irgendwo...

Ganz sicher wirst Du aber unter Windows die gleichen/ähnliche Möglichkeiten haben...

Obiger Befehl von mir schnappt sich erst alle IP-Adressen, wirft den Rest raus, sortiert dann die IP-Adressen (jeweils intern in den einzelnen Logs von Tag1 und Tag2), um dann nur jene IP-Adressen auszugeben, die dann in beiden Logs auftauchen.

Falls das unter Windows nicht so einfach zu machen wie unter Unix/Linux/Mac, könnte man auch ein einfaches C-Skript schreiben, dass das unter Windows erledigt.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 18.08.2009, 18:59

Hm,

ich habe mal eben einfach unter Windows cygwin installiert, wodurch Du eine Bash Shell unter Windows nutzen kannst.

Damit komme ich dann mit obigem Befehl auch unter Windows in Cygwin weiter.

Edith sagt:
Chris21 hat geschrieben: Ganz sicher wirst Du aber unter Windows die gleichen/ähnliche Möglichkeiten haben...
Tja, da hatte ich Microsoft zuviel zugetraut :) Möcht mal wissen, wie die armen Admins MS Server ohne vernünftige Shell administrieren - selbst die neue Power Shell scheint noch nicht mächtig genug.

Der Ausweg, über Cygwin nun die Linux Qualitäten und Helferlein unter Windows zu nutzen, funzt aber prächtig, habe das eben mit zwei Logfiles durchgezogen (jeweils über 200.000 Zeilen) und der obige Bash Befehl ist richtig schnell :)

Daher würde ich die Kombi aus Cygwin plus obigen Befehl empfehlen, bevor Du da ein eigenes Programm für schreibst (dafür ist die Aufgabe zu einfach).

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 18.08.2009, 21:51

Okay, vielen Dank!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag