20 | 01 | 2019

SSIS IIS W3C Extended Log File Source Adapter

Ich liebe es Daten zu sammeln und in geordneter strukturierter Form zu speichern. Unter diesem Ansatz wollte ich IIS Logfiles von einigen Webservern meiner Seiten in eine SQL Server Datenbank zwecks Auswertung speichern. Daraufhin habe ich mich im Internet nach Tools umgesehen. Die Möglichkeiten waren:

  • ein Tool kaufen
    • Dies ist immer eine Möglichkeit - es gibt diverse Tools zu diesem Zweck zu kaufen
  • Verwendung des IIS Resource Kit Tools - ein Teil des Toolkit ist der Log Parser 2.2 (http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en)
    • Es handelt sich dabei um ein Command Line Tool welches alle möglichen IIS Logfiles lesen kann. Leider ist die Datenbankseite des Tools nicht sehr ausgereift - es schreibt jede Zeile separat in die Datenbank und ist daher ab einer gewissen Größe der Logfiles sehr langsam. Ein BULK INSERT wäre sehr viel besser.
  • Ich schreibe selbst einen kleine Komponente für Integration Services welche ich als IIS W3C Extended Log File Source getauft habe.
    • Auf Basis eines Beispiels vom SQL Server Magazine habe ich eine Komponente erstellt. Diese wird in Integration Services registriert und kann ab dann als Zusätzliche neue Datenquelle dienen. Damit kann dann eine Standard SQL Server OLEDB Destination mit bulk insert für optimale Performance verwendet werden. Die Komponente arbeitet mit dem W3C Extended Log File Fromat (IIS 6.0) - Dokumentiert in der technischen Referenz zu IIS 6.0 Logfiles. Spalten die nicht oder nur teilweise vorhanden sind werden mit NULL zurückgegeben. Der Code kann vom Downloadbereich SQL Server 2005 heruntergeladen werden. Anregungen sind herzlich willkommen.