Verwendung von SQLServer Web-Protokolle analysieren

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 296085 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

Server/IIS bietet eine Reihe von Formaten, um Daten in Form von Webprotokolle zu sammeln. Für Standorte mit gebucht diese textbasierten Flatfiles irgendwann werden viel Last, um zu überprüfen und werden ignoriert. Eine bessere Möglichkeit, die Daten überprüfen würde diese Protokolle für Administratoren und Web-Master eine bessere Ressource umwandeln.

Dieser Artikel beschreibt eine Methode zum Importieren von IIS-Protokolle im Format W3c-erweiterten Protokollierung in Microsoft SQL Server die Überprüfung der IIS-Protokolldateien zu vereinfachen. Die bereitgestellten Techniken können auch für andere Protokolldateiformate geändert werden.

Weitere Informationen

Webprotokolle sind durch Trennzeichen getrennte Textdateien gemäß RFC 2616, "Hypertext Transfer Protocol--HTTP/1.1" (http://www.rfc-editor.org/rfc/rfc2616.txt).

Die Felder sind im Format W3C-erweiterten Protokollierung etwas Self erläuternde: Daten und Uhrzeit werden genau, was Sie scheinen c-Ip ist die IP-Adresse des der Client Cs-Methode ist die HTTP-Methode für die Anforderung, die erfüllt wurde; [Cs-Uri-Stem] ist das Dokument, das angefordert wurde; [Cs-Uri-Query] ist die Abfragezeichenfolge, die als Teil der Anforderung protokolliert gesendet wurde; sc-Status ist der vom Server; zurückgegebenen Statuscode sc-Bytes ist die Anzahl der Bytes, die für den Benutzer zurückgeliefert wurden; [Time-taken] ist die Zeit in Millisekunden, für den Server die Verarbeitung der Anforderung abgeschlossen dauerte; [cs(Cookie)] ist das Cookie, persistente Daten in der Anforderung; und [cs(Referenz)] ist der URL der vorherigen vom Benutzer besuchte Site. Für das Format W3C-erweiterten Protokollierung stehen eine Reihe zusätzlicher Felder, die ausgewählt werden können, die in der IIS-Hilfe und der folgenden Microsoft-Website beschrieben werden:
http://msdn.microsoft.com/en-us/library/ms525152.aspx
Die Protokolle sind wie folgt formatiert:

Tabelle minimierenTabelle vergrößern
DatumUhrzeitc-ipCs-methodCs-Uri-stemCs-Uri-querySC-statussc-bytesAufnahmezeitcs(Benutzer-Agent)cs(Cookie)cs(Referrer)


Die Kopfzeile der Protokolldateien entspricht in den Feldern die Registerkarte Erweiterte Eigenschaften in der Eigenschaften der Website, auf die Registerkarte Website und im Fall von W3C-erweiterten Protokollierung, ausgewählt. Wenn Ihre Webprotokolle bereits in einer Tabelle in Microsoft SQL Server sind, ist wahrscheinlich aufgrund der ODBC-Protokollierung. Allerdings bei Verwendung sind ODBC-Protokollierung die Felder nicht konfigurierbar. IIS-Hilfe enthält Anweisungen zum Einrichten von ODBC-Protokollierung, enthält die Tabelle in der erwarteten Struktur erstellen mithilfe von Logtemp.sql.

Sie können Enterprise Manager verwenden, um die Tabelle erstellen, sondern Sie um schneller zu vereinfachen und als Hilfe für die Automatisierung des Prozesses, verwenden das folgende Skript in Query Analyzer zum Erstellen der Tabelle:
CREATE TABLE [dbo].[tablename] (
	[date] [datetime] NULL,
	[time] [datetime] NULL ,
	[c-ip] [varchar] (50) NULL ,
	[cs-method] [varchar] (50) NULL ,
	[cs-uri-stem] [varchar] (255) NULL ,
	[cs-uri-query] [varchar] (2048) NULL ,
	[sc-status] [int] NULL ,
	[sc-bytes] [int] NULL ,
	[time-taken] [int] NULL ,
	[cs(User-Agent)] [varchar] (255) NULL ,
	[cs(Cookie)] [varchar] (2048) NULL ,
	[cs(Referer)] [varchar] (2048) NULL 
	)
				

Beachten Sie, dass einige dieser Felder sehr groß sind und kann nicht für die Überprüfung Ihrer bestimmten Protokolldateien erforderlich sein.

Nachdem die Tabelle erstellt wurde, können Sie die Daten mithilfe des Import-Assistenten aus der Datei *.log zuordnen, zu der Datenbank und Tabelle importieren.

Mithilfe des Assistenten langwierig sein, damit die folgenden zu beschleunigen, importieren die Webprotokolle verwendet werden können:
BULK INSERT [dbo].[tablename] FROM 'c:\weblog.log'
WITH (
    FIELDTERMINATOR = ' ',
    ROWTERMINATOR = '\n'
)
				

Hinweis: die Masseneinfügung fehl, wenn Zeilen auftritt, die mit "#" beginnen. Für Webprotokolle schließt dies die ersten vier Zeilen, sowie alle anderen Instanzen Wenn der Server beendet und, gestartet da die Headerzeilen, beim Neustart des Dienstes geschrieben werden. Der folgende Knowledge Base-Artikel enthält Quellcode diese Zeilen entfernen und das Protokoll für die Masseneinfügung zu SQL Server Vorbereiten und ein Dienstprogramm:
296093Datei: Vorbereitet PrepWebLog-Dienstprogramm für SQL-Masseneinfügung IIS-Protokolle
Wenn der Importvorgang abgeschlossen ist, können Sie Query Analyzer, um Abfragen zum Organisieren der Daten auszuführen. Zum Beispiel:
Select [cs-uri-stem], [time-taken] from tablename where [time-taken] >= 20000 and time between '1899-12-30 16:30:00.000' and '1899-12-30 17:30:00.000' 
				
dieser Abfrage werden die Namen aller Seiten, dauerte mehr als 20 Sekunden auf Prozess- und, wurden zwischen 4: 30 Uhr und 17: 30 Uhr, zusammen mit der Prozess-Zeit (in Millisekunden) für jede verarbeitet, anzuzeigen.

Beachten Sie, dass durch Standard Web-Protokolle in Greenwich Mean Time aufgezeichnet werden, so, sofern die Änderungen vorgenommen wurden, die Protokolle in lokale Zeit aufzeichnen Sie für die lokale Zeit angepasst müssen Wenn Sie die Protokolle überprüfen.

Ein weiteres Beispielabfrage:
Select distinct [cs-uri-stem], [time-taken] from tablename where [time-taken] > (select avg([time-taken]) from tablename)order by [time-taken] desc
				
diese Abfrage sucht den Mittelwert [Time-taken] für jeden Eintrag in der Protokolldatei wählt der [Cs-Uri-Stem] und der [Time-taken] und in absteigender Reihenfolge von [Time-taken] organisiert. Hinzufügen einer "Zeitraum zwischen"-Klausel konnte die Ergebnisse dieser Abfrage weiter eingrenzen.

Informationsquellen

Hinweis: Masseneinfügung funktioniert nicht mit SQL Server 7.0, jedoch mit SQL Server 2000 funktioniert. Weitere Informationen finden Sie die Artikel der Microsoft Knowledge Base:
272292Fehler: Fehler 7399 Wenn beim Einfügen in die Tabelle mit Spalten standardmäßig in einem NUMERIC oder DECIMAL Massenkopieren Spalte
Weitere Informationen zu LocalTimeRollover für die IIS-Protokolle und die LogFileLocaltimeRollover-Einstellung:
http://msdn.microsoft.com/en-us/library/microsoft.web.administration.sitelogfile.localtimerollover.aspx

Eigenschaften

Artikel-ID: 296085 - Geändert am: Dienstag, 21. November 2006 - Version: 3.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
Keywords: 
kbmt kbhowto KB296085 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 296085
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com