Komfortable Logfileanalyse für Sharepoint


Andreas Rauch

Sicherlich kennen Sie  Sharepoint Fehlermeldung mit Hinweis auf eine KorrelationsID..! T’schulding, war eine rhetorische Frage Zwinkerndes Smiley

Dann wissen Sie sicherlich auch, dass Sharepoint diese und viele weitere Ereignisse in seine ULS (Unified Logging Service) Protokolldateien wegschreibt. Sie kennen sicherlich auch das Verzeichnis (C:\Program Files\Common Files\Microsoft Shared\webserver Extensions\14\Logs) in dem standardmäßig die Dateien abgelegt werden und ebenso kennen sie auch das Format der Logfiles:

image

Daraus nun den Fehler zu reproduzieren ist zugegebenermaßen sehr schwerfällig. Leichter wird es , wenn man ein Tool wie den SharepointLogviewer verwendet. Zu finden bei Codeplex: http://sharepointlogviewer.codeplex.com/

image

Für mich - als Datenbankfuzzi - ist das allerdings noch nicht das Amen in der Kirche. Denn immerhin muss man immer noch am Server sein um die Protokolle lesen zu können, ob lokal am Server oder per Remotesitzung. (Im Falle von mehreren Servern, evtl. auf allen) Da stehe ich schon eher auf bequemere Dinge, wie SQL Server.

ULS Tracefiles in den SQL Server schreiben

Sharepoint Server hat durchaus alle Mittel an Board, die Protokollierung in den SQL Server schreiben zu lassen. Die Mittel sind lediglich deaktiviert. In diesem Fall ist das Mittel zum Zweck lediglich ein Auftrag:

Kontrollieren Sie doch mal in der Zentraladministration die Auftragsdefinitionen. Dort werden Sie einen Auftrag mit folgenden Namen finden:

Diagnoseanbieter: Ablaufverfolgunsprotokoll

Sobald Sie diese n Auftrag aktivieren und am besten auch gleich starten, werden sie im SQL Server folgendes finden:

Eine Menge an Tabellen, darunter auch welche mit folgenden Namen: ULSTraceLog_Partition#  (# für 0 bis 31)

image

und passen dazu eine Sicht ULSTRaceLog, die alle Tabellen abfrägt:

image

Der große Vorteil ist nun, dass einerseits Abfragen auf die Logfiles per TSQL deutlich leichter zu bewerkstelligen sind und andererseits wir nun eine einzige zentralen Stelle haben, an der alle ULS Logfile Einträge aller in der Farm beteiligten Server zusammenkommen. Vollautomatisch!

Die Suche nach bspw. KorrelationsID ist nun geradezu lächerlich einfach:

image

Cool, oder?

Wird aber noch besser. Im nächsten Artikel werde ich diese Lösung noch in die Zentraladministration einbauen, so dass nicht einmal eine SQL Abfrage gestartet werden muss.. Natürlich ohne Code.  Zwinkerndes Smiley

Kommentare sind geschlossen