Der Microsoft LogParser stellt mit dem Eingabeformat NCSA eine Schnittstelle zur Verfügung, um Apache Logfiles zu verarbeiten. Das hier behandelte Beispiel sieht so aus:
LogParser -i:NCSA -o:DATAGRID file:ap_log1.sql
und
SELECT TO_STRING(DATETIME,'dd.MMM yyyy') AS TAG ,SUM(BytesSent) AS SUMME ,DIV(SUM(BytesSent),1024) AS SUMMEinKB ,DIV(SUM(BytesSent),MUL(1024,1024)) AS SUMMEinMB FROM apache_tage.log WHERE (StatusCode='200') GROUP BY TAG
Die Abrage selektiert alle Datensätze mit erfolgreicher Übertragung (WHERE-Klausel) und gruppiert und summiert diese nach dem Tagen. Die Ausgabe der Werte erfolgt in Byte, KByte und MByte. Die Ausgabe erfolgt im Fenster des LogParsers.
Dateien: ap_log1.bat, ap_log1.sql
Bei diesem Beispiel werden die gleichen Daten verwendet wie zuvor um eine Grafik zu erzeugen (siehe Abschnitt CHART zu den Voraussetzungen). Die aufrufende Batchdatei sieht so aus:
LogParser -i:NCSA -o:CHART -chartType:ColumnClustered -view:On -chartTitle:"Datendurchsatz nach Tagen" file:ap_log2.sql
Festgelegt werden hier der Typ der Charttyp (Verzeichnis der Charttypen) und die Überschrift. Mit -view:On wird der Microsoft LogParser angewiesen, die Grafik gleich anzuzeigen.
Die Abfragedatei dazu:
SELECT TO_STRING(DATETIME,'dd.MMM yyyy') AS TAG ,SUM(BytesSent) AS SUMME INTO ap_log2.gif FROM apache_tage.log --Es werden nur die Datensätze mit Statuscode 200 selektiert WHERE (StatusCode='200') GROUP BY TAG
Wir verwenden nur die Datenreihe in Byte, die anderen beiden sind wegen der unterschiedlichen Dimensionen nicht sinnvoll.