NeoLogger – Windows Syslog Logger Tool

NeoLogger ist ein von BSK Consulting entwickelter Windows Syslog Client zum Erzeugen von RFC konformen Syslog Nachrichten unter Windows. Es entspricht in den Grundzügen dem von Linux bekannten Logger Tool und erweitert dieses um spezielle Filter- und Ersetzungsfunktionen.

Der folgende Screenshot zeigt die Hilfeseite von NeoLogger und gibt einen Überblick über die Funktionen.

NeoLogger 0.5 man page

NeoLogger 0.5 Hilfeseite

NeoLogger versteht mittlerweile 5 verschiedene Eingabevarianten:

  1. Eine einzelne Zeile per -m Schalter
    z.B. -m „Das ist eine Testzeile“
  2. Der Inhalt einer Textdatei
    z.B. -r test.log
  3. Der Standardeingabe Strom
    z.B. systeminfo | neolog.exe
  4. Ein Windows Eventlog
    z.B. -et „Application“
  5. Ein Verzeichnis zur Überwachung (neu in Version 0.5)
    z.B. -dir „C:\logfiles“

Die folgende Übersicht zeigt die beiden Werkzeuge der „Neolog Collection“ und deren Funktionen.

Neolog Collection Übersicht

Neolog Collection Übersicht

Im Folgenden sieht man NeoLogger beim Versenden einer Logdatei per Syslog. Ohne den „-d“ Schalter gibt es keine Textausgabe außer bei Fehlermeldungen.

NeoLogger Datei Input

NeoLogger Datei Input

Die restlichen Standard-Parameter sind selbsterklärend.

Die erweiterten Parameter erlauben es, den Eingabestrom aus einer Datei oder der Standardeingabe zu filtern und zu verändern. Im folgenden Beispiel soll die Ausgabe von „tasklist“ verarbeitet werden, bevor sie mit NeoLogger verschickt wird. Mit dem Parameter „-g“ wählt man wie bei „grep“ einen String oder auch Regex aus, der in der Logzeile enthalten sein muss, damit sie von NeoLogger verschickt wird. Das Gegenstück zu „-g“ ist „-gv“, welches negativ filtert, also wie ein „grep -v“ wirkt. Mit „-sv“ kann man ein Suchwort angeben, das durch den Ausdruck nach „-rv“ ersetzt wird. Im Beispiel sollen die vielen Leerzeichen in der Ausgabezeile von „tasklist“ durch ein einzelnes Leerzeichen ersetzt werden.

NeoLogger Filter Funktion

NeoLogger Filter Funktionen

NeoLogger kann beispielsweise in Batch-Skripten Verwendung finden, die auf dem System per Aufgabenplanung zu bestimmten Zeiten ausgeführt werden.

Seit Version 0.5 kann NeoLogger auch ganze Verzeichnisse, inklusive Unterverzeichnisse überwachen. Dabei gibt es zwei Optionen.
Mit der Optione „-watch“ werden Änderungen am Dateisystem innerhalb des definierten Verzeichnisses per Syslog verschickt. Man wird darüber informiert, wenn an Dateien Änderungen vorgenommen, sie gelöscht oder umbenannt wurden.

Verzeichnisüberwachung mit „-watch“

Mit der Option „-tail“ hängt sich an alle Dateien dieses Verzeichnisses und übermittelt alle neuen Zeilen, wenn diese an Dateien des Verzeichnisses geschrieben werden. NeoLogger erkennt dabei automatisch, wenn Dateien verkleinert oder rotiert wurden. In einem solchen Fall sendet er den vollständigen Inhalt der Datei.
Die Option „-tail“ kann wie „-watch“ auch auf Unterverzeichnisse angewandt werden.

Verzeichnisüberwachung mit „-tail“

Beispiele

NeoLogger überträge die derzeit auf dem System installierten TrendMicro OfficeScan Antivirus Signatur Pattern File Version per Syslog.

neolog.exe -t syslog.intranet.local -r "C:\Programme\TrendMicro\updinfo.ini" -g "pattern"

Übertrage die gerade am System angemeldeten Benutzer per Syslog.

WMIC COMPUTERSYSTEM get username | neolog.exe -t syslog.intranet.local -gv UserName

Übertrage die aktuell auf dem System eingetragenen „Run“ Einträge aus der Registry.

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" | neolog.exe -t syslog.intranet.local -gv HKEY -sv "[\s]+" -rv " "

Neu seit Version 0.3

Übertrage alle neuen Einträge des Windows Application Eventlog. (Hinweis: Auf das „Security“ Eventlog kann man nur mit erhobenen Rechten zugreifen. Das Tool „elevate“ liegt dem Installationspaket bei.)

neolog.exe -t syslog.intranet.local -tail -et "Application"

Übertrage alle neuen Einträge des Windows Firewall Logs. (Zugriffsrechte beachten!)

neolog.exe -t syslog.intranet.local -tail -r C:\Windows\system32\LogFiles\Firewall\pfirewall.log

Neu seit Version 0.4

Erster Aufruf: das letzte Event im Eventlog „Application“ wird an Hand seiner „Event Record ID“ gespeichert
Zweiter Aufruf: Nur das Delta seit dem letzten Aufruf wird übertragen

neolog.exe -t 10.0.0.1 -n -et Application

Erster Aufruf: das gesamte File wird übertragen. Das Ende der Datei wird gespeichert.
Zweiter Aufruf: Nur das Delta seit dem letzten Aufruf wird übertragen.

neolog.exe -t 10.0.0.1 -n -r logfile.txt

Neu seit Version 0.5

NeoLogger überwacht ein Verzeichnis (-dir) und Unterverzeichnisse (-sub) auf Änderungen an Dateien mit Endung „.log“ (-ff) und sendet alle neuen Zeilen (-tail) mit dem Dateinamen der geänderten Datei als Prefix (-fn) an den angegebenen Server (-t) per Syslog.

neolog.exe -d -t 10.0.0.1 -dir "C:\logfiles" -sub -ff "*.log" -fn -tail

Neologger überwacht das Verzeichnis (-d) auf Änderungen (-watch) und zeigt an, mit welcher Datei WAS passiert ist. (Changed, Created, Deleted, Renamed)

nelog.exe -d -t 10.0.0.1 -dir "C:\fileshare" -watch

Lizenz

NeoLogger wird unter der Apache Lizenz 2.0 veröffentlicht.

Voraussetzungen

NeoLogger benötigt das .NET Framework mindestens in der Version 3.5.

Download

Neologger kann in der Download-Übersicht heruntergeladen werden.

Historie

0.6.2

Bugfix Version – Priority und Facility Bugfix, „\n“ am Zeilenende entfernt

0.6

Kompletter Rewrite der Syslog Client Klasse und damit Unabhängigkeit von der Kiwi Syslog Client Library. Kleine Buxfixes.

0.5

Neue Features: Die Überwachung von Verzeichnissen auf Änderungen ist eine neue Funktion in Version 0.5. Wie oben beschrieben gibt es zwei Optionen der Überwachung. Die eine versendet die neuen Inhalte, die andere zeigt an, welche Datei wie verändert wurde.

0.4

Neues Feature: „New Only“ Funktion, die bei regelmäßigen Aufrufen von Neologger nur die neu hinzu gekommen Zeilen/Events verschickt. Diese Funktion eignet sich besonders für geplante Aufgaben, die z.B. einmal täglich neue Zeile einer Datei verschicken oder neue Zeilen eines Eventlogs wie z.B. „Application“ verschicken.
Das zuvor in 0.3 implementierte Feature „New Only“, welches in Echtzeit auf dem Ende einer Datei oder dem Eventlog lauscht, wurde in „-tail“ umbenannt.

0.3

Neue Features: Windows Eventlog als Eingabe, „Only New“ Features für Dateien und Eventlog

0.2

Neue Features: Filter- und Ersetzungsfunktionen, Empty Line Filter, Debug Funktion

0.1

Erste Version. Standard Features und Prefix Funktion.