Gratis Loganalyse mit Analog
Geschrieben von: Christoph Wille Das Auswerten von Logdateien erfüllt meist mehrerlei Zwecke: technisch, um die Site zu verbessern, sicherheitstechnisch, um Hack-Attacken zu finden, oder beancounter-mäßig, um dem Management zu vermitteln, wer auf die Website zugreift - und was er sich dabei ansieht, und so weiter. Es gibt viele Tools, allerdings kosten die meisten davon viel (oder sehr viel). Heute werden wir uns die Grundlagen eines Tools erarbeiten, das gratis ist: Analog. Das Analysetool Analog kann von analog.cx downgeloadet werden. Es gibt kompilierte Versionen für Windows, Apple, Linux und mehr - und wer damit das Auslangen nicht findet, kann den Sourcecode downloaden, und auf die Plattform seiner Wünsche anpassen. Für uns ist klarerweise die Windows-Version die interessanteste. Ein Vorteil von Analog ist der, daß es kein Setupprogramm braucht - einfach in ein Verzeichnis nach Wahl entzippen, und schon ist man "all set". Für Windows-Aficionados kommt nun der Schock: Analog ist ein Kommandozeilenprogramm, und man muß es mittels einer Konfigurationsdatei namens analog.cfg steuern. Alles nur halb so schlimm, wie der Artikel zeigen wird. Weitere Artikel werden sich dann mit Add-Ons für Analog beschäftigen, und darunter gibt es auch einige GUI's - nur die kosten extra. Deswegen erarbeiten wir uns heute die Grundlagen auf die "harte" Tour. Eigene Logformate definierenEin Satz in der Hilfedatei hat mir sehr gut gefallen: "Most people don't need to do this because analog can detect the format automatically -- try it first and see!". Klar hab' ich's ausprobiert, und ebenso klarerweise ging's mit meinen Logdateien daneben. Kismet. Also habe ich auf Plan B umgesattelt, und mir unverdrossen die Hilfe zum Thema "Definieren neuer Logfileformate" durchgelesen (ja, in besonders verzweifelten Situationen lese auch ich die Hilfe). Dazu mußte ich mir meine Logdatei vor Augen halten (besser gesagt die Definitionszeile): date time c-ip cs-username s-sitename s-computername s-ip cs-method cs-uri-stem [cont.]cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken s-port [cont.]cs-version cs(User-Agent) cs(Cookie) cs(Referer) Hätte ich mich nur an das gehalten, wäre ich schon wieder auf die Nase gefallen. Weil - entgegen sämtlicher Beispiele von Analog muß meine Logdatei (IIS) ein anderes Datumsformat als amerikanisch (yyyy/mm/dd) verwenden. Hier eine Beispielzeile des Logs zu Verdeutlichung: 2001-04-13 00:04:38 211.22.119.114 - W3SVC181 www26 216.87.12.204 GET /english/20001009.asp [cont.]- 200 0 14297 186 94 80 [cont.]HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+5.5;+Windows+NT+5.0)+Fetch+API+Request - - Ja, das mit den Bindestrichen im Datum findet sich bei Extended Logfiles von IIS. Unter Zuhilfename der Hilfe habe ich daraus mein Logformat gebastelt (die Parameter bitte ebendort nachlesen): LOGFORMAT (%Y-%m-%d %h:%n:%j %s %u W3SVC%j %v %j %j %r %q %c %j %b %j %T %j %j %A %j %f) Das war die wichtigste (einzige) Hürde am Weg zum Erfolg mit Analog. Jedem, der Non-Standard Logs hat, wird es ebenso gehen. Denn der Rest von Analog ist kinderleicht zu konfigurieren. Mehr Pepp im ersten ReportIch habe mir erlaubt, gleich den ersten Report etwas aufzupeppen. Und wie nicht anders zu erwarten, passieren alle notwendigen Einstellungen in analog.cfg. Was habe ich gemacht? Ich lasse Reverse DNS Lookups durchführen, um eine per Domain/per Land Gliederung der Zugriffszahlen zu ermöglichen. Achtung: das dauert, deshalb speichere ich Reverse Lookups in einer Datei namens dnscache. Hier gibt es viele Konfigurationsmöglichkeiten, ich empfehle für dieses Feature die Konsultation der Hilfe. Weitere Kleinigkeiten: ich habe festgelegt, daß mein Logfile case-insensitive ausgewertet werden soll, was auf Windows perfekt zulässig ist. Außerdem habe ich ein Verzeichnis von der Auswertung ausgeschloßen - im Echteinsatz wären das interne Wartungs-Verzeichnisse und dergleichen, die das Management nicht interessieren (oder zu haben). Gut - genug geredet. Hier der erste Part von analog.cfg: # DEBUG C LOGFORMAT (%Y-%m-%d %h:%n:%j %s %u W3SVC%j %v %j %j %r %q %c %j %b %j %T %j %j %A %j %f) LOGFILE ex010413.log OUTFILE Report.html CASE INSENSITIVE FILEEXCLUDE /service/* HOSTNAME "AspHeute.com" HOSTURL http://www.aspheute.com DNSFILE dnscache DNS WRITE # DNS LOOKUP Der Switch DEBUG C ist auskommentiert, und diesen habe ich verwendet, um mein LOGFORMAT auf Fehler hin zu durchsuchen. Die Logdatei, die ich auswerten will, wird in einem LOGFILE Statement angegeben, und dieses kann man beliebig oft wiederholen. OUTFILE ist selbsterklärend, und CASE INSENSITIVE ebenso. Etwas, das ich nicht vorweg geschickt habe sind die HOSTNAME und HOSTURL Parameter. Diese dienen der Verschönerung des Reports - siehe auch folgender Screenshot. Der heutige Download beinhaltet diesen Beispielreport in voller Länge, denn dies ist nur eine von vielen Auswertungen (die auch konfiguriert werden können). Ich habe etliche Zeilen von analog.cfg unterschlagen, aber auch diese Datei findet sich vollständig im heutigen Download. Diese stammen unmodifiziert aus dem Beispiel, das mit Analog kommt. Das Konfigurieren von analog.cfg kann keine Dauerlösung sein. Daher befassen sich weitere Artikel mit graphischen Add-Ons für Analog, sowie mit einem weiteren wichtigen Add-On: Report Magic, weil zugegebenermaßen die Standard-Tortengrafiken nicht "managementgerecht" sind. Unter dem Motto: traue keiner Statistik, die Du nicht selbst gefälscht hast! SchlußbemerkungIm Artikel nicht erwähnt, so wenigstens in der Schlußbemerkung: wenn man auf Reverse DNS Lookups verzichtet, dann ist Analog ein wirklich enorm schnelles Analysetool! Download des CodesKlicken Sie hier, um den Download zu starten. Verwandte Artikel
Logfiles auswerten mit Webalizer Links zu anderen SitesWenn Sie jetzt Fragen haben...Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten. Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.
Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.
©2000-2006 AspHeute.com |