LogParser

Mit dem LogParser stellt Microsoft ein sehr mächtiges Werkzeug bereit, was sich aber erst auf den zweiten Blick erschließt. All zu viele Administratoren scheuen den Zugriff auf eine Kommandozeile, die Eingabe von umfangreichen Kommandozeilen oder SQL-Statements oder gar das Schreiben eigener Scripte und DLLs. Auch wenn das gar nicht schwer ist, so kann LogParser auch ohne umfangreiche Entwicklung genutzt werden. Microsoft liefert ausreichend Beispiele mit, die leicht auf eigene Bedürfnisse angepasst werden können. Dann hingegen können sie z.B.:

Sehr oft hilft LogParser damit, eigene VBScripte zum Parsen verschiedener Textdateien gänzlich zu ersetzen. Allerdings ist der Einsatz aufgrund der umfangreichen Funktion nicht gerade als "einfach" anzusehen, zumal die Steuerung über Kommandozeilen und Skriptaufrufe erfolgt.

Log Parser
http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

LogParser EXE

Die meisten werden LogParser als Kommandozeile einsetzen, d.h. aus einer DOS-Box aufrufen und deren bestehende Protokolldateien laufen lassen. Über die Kommandozeile werden die Parameter angegeben

Durch die Nutzung als Kommandozeile eignet sich LogParser natürlich wunderbar für den regelmäßigen Start über den Microsoft Taskplaner zur Erzeugung von konsolidierten Daten. Wer braucht heute schon bei einem Webserver im Protokoll die gesamten Abrufe der Bilder, StyleSheets etc. Diese könnten durch Logparser einfach weggefiltert bzw. durch eine Summenzeile ersetzt werden.

LogParser COM-Objekt

Wenn Sie selbst programmieren, dann können Sie die gleichen Funktionen auch über das ebenfalls mit installierte COM-Objekt aus ihren Programmen nutzen: Im Object Browser sieht dies z.B. wie folgt aus:


(Erstellt mit dem Object Browser von Visual Basic 2005 Express)

Es gib ein Objekt mit dem Namen "MSUtil.LogQuery", welches Sie instanzieren und mit den Parametern für die Eingabe und Ausgeben (Ebenfalls Objekte) füttern, ehe Sie am Ende dann die "ExecuteBatch"-Methode aufrufen. Beispiele dazu finden Sie in Hilfe von Logparser (c:\programme\logparser 2.2\Logparser.chm)

Logparser GUIs

Die Kommandozeilen und SQL-Statements sind nicht jedermanns Sache

 

 

 

 

Beispiele

Benutzer von OWA

(Quelle: TechNet)

logparser.exe "SELECT TO_STRING(time, 'HH') AS Hour, COUNT(*) AS Hits INTO hitPerSecond.jpg FROM ex*.log GROUP BY Hour ORDER BY Hour ASC" -i:IISW3C -o:CHART -chartType:ColumnClustered -chartTitle:"Hourly Hits" -groupSize:420x280

Bandbreitennutzung durch OWA

logparser file:QDailyHits.sql -i:IISW3C -o:CHART -chartType:ColumnClustered -chartTitle:"owa.msxfaq.de - Volumen in KB pro Stunde" -groupSize:420x280

Inhalt von QDailyHits.sql:

SELECT
 TO_STRING(time, 'HH') AS Hour,
 DIV(Sum(cs-bytes),1024) AS Incoming(K),
 DIV(Sum(sc-bytes),1024) AS Outgoing(K)
INTO %chartname%
FROM %source%
GROUP BY Hour

Auswertung von SMTP-Logs und Mssagetracking Logs

LogParser kann auch die Exchange Logs und

LogParser.exe" -i:W3C -o:TSV "select TO_TIMESTAMP( STRCAT( '2006-10-15', STRCAT(' ', STRREV( SUB( STRREV( TIME ) , 'TMG ') ))),'yyyy-MM-dd h:m:s') AS DateTime, Recipient-Address AS RcptAddress, MSGID, total-bytes AS TotalBytes, Number-Recipients AS NumRcpts, Sender-Address AS Sender from c:\Programme\exchsrvr\log\20061015.log to test.tab WHERE recipient-Address LIKE '%%@%%' GROUP BY DateTime, MSGID, Recipient-Address, total-bytes, Number-Recipients, Sender-Address" -filemode:1

Auswertung der Nutzung von ActiveSync

Die Auswertung von ActiveSync ist sicher besonders interessant, da so eine Übersicht der Nutzung (und auch zu erwartenden Kosten) zu erhalten ist.

Auf diesen Webseiten finden Sie sehr viele Beispiele. Besonders interessant ist hierbei eine DLL "lpeas.dll ", die bei der Auswertung von IIS_Logs die Besonderheiten von EAS genauer auseinander nimmt.

Weitere Links

Keywords:Logparser Auswertung Log Eventlog