Logdateien übersichtlich anzeigen

Logs

Beim Troubleshooting von Betriebssystem und Applikationen ist oft ein Blick in die Logs hilfreich. Das gilt auch wenn man genau nachvollziehen möchte, welche Komponente wann was macht oder nicht macht. Unter Windows gibt es dafür zum einen die Event Logs, zum anderen aber auch Logdateien, also einfache Textdateien in die zeilenweise geschrieben wird.

 

Mehr noch als die Event Logs dienen die Logdateien oft einer sehr detaillierten Dokumentation des Ablaufs.

 

Beispiele:

  • IIS-Logs
  • MSI-Logs
  • MS Config Manager Server- und Client-Logs
  • FrontRange DSM / enteo / NetInstall Server- und Client-Logs

Die Logs können im Regelfall einfach in einem Editor wie dem Windows Notepad geöffnet und durchsucht werden. Das funktioniert allerdings nur dann gut wenn man gezielt ein bestimmtes Log analysieren möchte.

Das Problem

Wenn man einen Überblick über viele verschiedene Logs bekommen möchte bzw. verfolgen möchte, was sich in welchem Log ändert, dann taugt ein einfacher Editor nicht.

 

Ein Tool, das bei diesem Szenario hilft müsste

  • ganze lokale oder entfernte Verzeichnisse überwachen und neu erstellte Logs automatisch öffnen
  • die Anzeige der Logs ständig aktualisieren und neu hinzugefügte Zeilen sofort anzeigen (ähnlich wie das Tool „tail“)
  • die Loginhalte filtern und einzelne Passagen hervorheben

Und schön wäre, wenn’s nichts kosten würde :)

Es gibt meines Wissens nicht viele freie Tools, die die genannten Funktionen zur Verfügung stellen – ich kenne nur ein einziges.

Die Lösung

Das Tool heißt LogShark und wurde von Johan Stuyts auf Sourceforge zum freien Download bereitgestellt.

 

LogShark ist ein Java-Programm mit allen oben genannten Features. Die Konfiguration erfolgt über eine Konfigurationsdatei, in der u.a. festgelegt wird

  • welche Verzeichnisse überwacht werden sollen
  • welche Dateien überwacht werden sollen – gefiltert wird hier per Regular Expressions bzw. per Änderungsdatum der Datei
  • welche Zeilen ausgegeben bzw. entfernt werden sollen
  • welche Zeilen in welchen Farben hervorgehoben werden sollen

Damit kann die gewünschte Konfiguration recht einfach per Texteditor angepasst werden.

LogShark mit Filter und Hervorhebungen

Für jeden Satz von zu überwachenden Verzeichnissen kann eine eigene Konfigurationsdatei erstellt werden, die beim Aufruf des Tools als Parameter übergeben wird.

 

Nicht möglich ist zunächst allerdings die Übergabe der zu überwachenden Verzeichnisse per Kommandozeilenparameter. Und genau das ist wünschenswert wenn diese eben nicht statisch sind, sondern auf unterschiedlichen Computern liegen.

Die Optimierung

Um solche Szenarien z.B. für Config Manager oder DSM besser zu unterstützen habe ich einen Wrapper in Powershell geschrieben, der die Konfigurationsdatei on the fly erstellt. Das Script heißt Start-LogShark und kann unten heruntergeladen werden.

 

Auch die Konfiguration des Wrappers erfolgt über eine Konfigurationsdatei, insbesondere der Computername und das zu verwendende Template können aber per Parameter übergeben werden. Nachdem sich in der Praxis zeigt, dass die Logverzeichnispfade teilweise je nach Sprache und Betriebssystemversion (z.B. x86/x64) unterschiedlich sind, können mehrere Alternativpfade in der Wrapper-Konfiguration angegeben werden, die dann abgesucht werden. In die generierte LogShark-Konfigurationsdatei wird dann jeweils der erste tatsächlich vorhandene Pfad eingetragen.

 

Die Kombination von LogShark und Wrapper ist bei weitem nicht perfekt – meine Wunschliste ist tatsächlich noch recht lang – aber sie ist im täglichen Betrieb hilfreich. Ich benutze das Ganze vor allem direkt aus der DSM Konsole heraus um Installationen beim Testen direkt verfolgen zu können.

 

Nachdem die Quellcodes verfügbar sind kann natürlich jeder zu Verbesserungen beitragen. Falls sich jemand die Mühe macht hätte ich gerne eine entsprechende Rückmeldung. Evtl. kann man das Ergebnis ja wieder der Allgemeinheit zur Verfügung stellen.

Download
LogShark Powershell Wrapper
Dieses Powershell-Script erstellt on the fly eine LogShark-Konfigurationsdatei und startet LogShark.
start-logshark.v0.1.beta.zip
Komprimiertes Archiv im ZIP Format 453.5 KB
Download
LogShark-Vorlage für DSM 7
Diese Vorlage wird vom LogShark Wrapper verwendet um eine für DSM passende Konfigurationsdatei zu erstellen.
logsharkenteoconfig_2010-05.zip
Komprimiertes Archiv im ZIP Format 1.9 KB

Kommentar schreiben

Kommentare: 0