KOmfortable Logfile Analyse für Sharepoint–Teil 2

Wie im  Teil 1 schon beschrieben, können wir per Auftrag alle Einträge des ULS Logfiles in die Datenbank schreiben lassen. Die Abfrage per T-SQL läßt deutlich mehr Spielraum die Suche nach Problemen, KorrelationsID usw. zu vereinfachen. Aber ehrlich gesagt: das muss noch besser gehen. Wie wäre es ,das Logile in der Zentraladministration anzuzeigen? Inklusive Filterfunktion, Hervorhebung von kritischen bzw unerwarteten Ereignissen? Hört sich gut, läßt sich gut machen!

Zwei Dinge braucht der Mann dazu: Den Zugriff zur Datenbank und den Sharepoint Designer 2010.

Datenbankzugriff

Die Daten stecken in der WSS_Logging Datenbank und können sehr komfortabel per Sicht (ULSTraceLog) ausgelesen werden. Für den Zugriff könnten wir einerseits das Konto derFarm verwenden oder ein spezielle dediziertes Konto für die Logfileanlayse, das nur Leserechte auf die Datenbank erhält.

Dazu legen wir einen Benutzer (bspw. SQLULSUSer) an und geben bei der Benutzerzuordnung die Rechte  in der WSS_Logging Datenbank lesen zu dürfen. (hier: per Datenbankrolle db_datareader, mit der in jeder Tabelle lesen dürfte)

image

image

Sharepoint Designer 2010

Im Sharepoint Designer öffnen wir die Zentraladministration und legen per Menu eine Datenquelle an:

image

An dieser Stelle gilt es aufzupassen, denn die Anmeldedaten werden im Sharepoint Designer im Klartext gespeichert.!

Sofern die Anmeldung geklappt hat, sollte die WSS_Loggingdatenbank auswählbar sein und wählt als Datenbasis für die späteren Abfragen die Sicht ULSTraceLog.

image

Da vermutlich nicht jede Information beobachtet werden muss, lassen sich Felder aus er Ansicht entfernen.  Sharepoint Designer liebt es es eh nicht besonders, wenn zu viele Felder anzeigt werden und unterdrückt oft genug einige Felder, obwohl diese angezeigt werden sollten.

image

Nun kann man noch die Ergebnisse der Abfrage nach Logtime absteigen sortieren, so dass auf jeden Fall aktuellste Ereignisse ganz oben zu finden sein werden.

image

Ebenso ließe sich ein Filter einbauen, der nur bestimmte Ereignisseinträge anzeigt.  Da es später sehr viele Logeinträge sein könnten,  würde ich den Filter eher auf die TOP 1000 EInträge oder per Datum (max. der letzten 24 Stunden) eingrenzen. Das kann man aber per T-SQL deutlich leichter bewerkstelligen  als im Sharepoint Designer irgendein  Rumgefummle zu starten. Dazu schließen wir zunächst die eben erstelle Sortierung und klicken auf Datenquelle. Dort ändern wir im weiteren Dialog die Einstellung so, dass an statt der Sicht ein T-SQL Befehl eintragen werden kann, wie zum Beispiel folgender:

image

Neue Seite für Logfileanzeige

Um die Logfileeinträge in der Zentraladministration komfortabel lesen zu können, werden nun im folgenden

  • eine neue Seite anlegen: Logfile.aspx
  • Die Datenquelle einbinden und die anzuzeigenden Felder festlegen
  • Die Masterpage anhängen
  • Das Layout auf ein besser lesbares ändern
  • bedingte Formatierungen für den Level  (warning oder unexpected bspw) einführen.

So nun der Reihe: Zuerst die Seite (ich nenne sie Logfile.aspx)

image

Wenn die Datei angelegt ist, diese doppelklicken und zum Bearbeiten öffnen. Den Hinweis, dass die Datei im erweiterten Modus geöffnet werden muss, bejahen wir.

Nun sehen wir eine leere Seite mit einem Form Feld, in das wir die Datenquelle per Klick einfügen.

image

Im Ergebnis sehen wir, dass nicht alle Spalten angezeigt werden. Daher fügen wir die relevanten Spalten hinzu, andere lassen wir weg. So macht zum Beispiel die RowID hier wohl keinen Sinn, sehr wohl der Level oder die Message.

image

Damit das ganze auch irgendwie nach Sharepoint aussieht und vor allem das Menu der Zentraladministration vorhanden sein sollte, fügen wir der Logfile.aspx die Masterpage v4 an.

image

Das Ergebnis hat nun schon mehr mit Sharepoint Ähnlichkeit:

image

Allerdings hasse ich es wenn ich horizontal und vertikal scrollen muss! Das kann man allerdings dadurch beheben, wenn man irgendwo in die Tabelle klickt und dann per Menü “Entwurf” den Wiederholenden Abschnitt wählt:

image

Letzter Schliff

Optimal wäre nun noch die Ladezeiten zu verbessern und Fehler hervorzuheben. Bitte schön:

Markieren Sie dazu das Feld Level, in dem sich Warning, Unexpected usw befinden, und wählen im kontextmenü “bedingte Formatierung. Nun können Sie via “Erstellen”.. Formatierung übernehmen unserer Regeln für die Formatierung anlegen.

image           image

Nachdem wir die Regeln festgelegt haben, definieren wir die Formatvorlage. Hintergrund “rot” etwa.

image

Fast geschafft. Nur noch per Seitenverwaltung das Paging aktivieren und die Anzeigen auf eine gewünschte Anzahl der Datensätze einschränken.. und schon wird die Anzeige schon deutlich flüssiger.

image

Und zuletzt noch eine Gruppierungs- und Filtermöglichkeit aktivieren:

image

Und so könnte das Endergebnis aussehen.

image

Mit Filterfunktion:

image

Author: Fumus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert