Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Gratis Loganalyse mit Analog

Geschrieben von: Christoph Wille
Kategorie: Server

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 definieren

Ein 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 Report

Ich 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ßbemerkung

Im 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 Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

Logfiles auswerten mit Webalizer
Logfiles mit Access auswerten
ReportMagic für Analog

Links zu anderen Sites

Analog
Analog bei Sourceforge

Wenn 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.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.