This entry is part 6 of 11 in the series logstash

Auch wenn’s unüblich für mich ist, so muss ich fast auch etwas dazu schreiben, wie man Windows Logs in eine logstash Installation bekommt.

Dafür gibt es, wie so oft, mehrere Möglichkeiten, die auch von den Details der Frage abhängen. Vor allem gilt es erst zu spezifizieren, welche Logs man denn überhaupt haben will. Windows Eventlog? Logs einer Applikation, die ein Eventlog anlegt? Logs einer Applikation, die eigene Logfiles auf das Filesystem schreibt?

Die universelle Lösung bleibt hier logstash selbst. Als Java (genauer JRuby) Anwendung sollte logstash auf jeder Plattform laufen, die Java ausführen kann. Wer mal mehr Java Anwendungen auf diversen verschiedenen Systemen logstash_01ausführen musste, darf über das “sollte” schmunzeln, alle anderen mögen es mir verzeihen. Tatsächlich ist logstash aber ziemlich unempfindlich, welche Java Version zum Einsatz kommt. Einzig im Zusammenhang mit Elasticsearch sollte darauf geachtet werden, auf allen beteiligten Hosts wirklich die gleiche Java Version einzusetzen.

Für Windows bringt logstash auch gleich den eventlog Input mit. Details zur Konfiguration gibt es wie immer in der logstash Dokumentation.

Die Konfiguration ist aber auch hier so einfach, dass es schade wäre, kein Beispiel dafür zu nennen.

input {
  eventlog {
    type  => 'proprietarylogs'
    logfile  => 'System'
  }
}

In der Option logfile gibt man ein Array von Namen von Eventlogs an, die man ausgewertet haben möchte. Für Logs, die nicht im Eventlog liegen, wie Logfiles, die von Applikationen im Dateisystem angelegt werden, steht der file Input zur Verfügung.

Über Outputs werden die Logs dann normalerweise an zentrale logstash Instanzen geschickt, die die Daten zwischenspeichern, dann nach und nach anhand von Filtern aufbereiten und in Felder zerlegen und schlussendlich an Tools wie Elasticsearch weiterleiten, wo sie dann durchsuchbar und auswertbar gespeichert bleiben. Sie können auch an Monitoring Tools wie Icinga oder per Mail weitergeleitet werden.

Da logstash aber als gestandene Java Anwendung mehr Ressourcen verbraucht, als mancher Windows Host erübrigen kann, gibt es auch Alternativen. Mit Tools wie snare kann Windows beigebracht werden, Eventlogs via Syslog Protokoll zu verschicken. Wie Syslog Nachrichten angenommen werden können, wurde bereits in einem früheren Artikel dieser Serie beschrieben. Auch Lumberjack (inzwischen umbenannt in logstash-forwarder) unterstützt mittlerweile Windows und kann so Logfiles aus dem Dateisystem SSL gesichert an logstash verschicken.

Thomas Widhalm

Autor: Thomas Widhalm

Thomas war Systemadministrator an einer österreichischen Universität und da besonders für Linux und Unix zuständig. Seit 2013 möchte er aber lieber die große weite Welt sehen und hat sich deshalb dem Netways Consulting Team angeschlossen.
Er möchte ausserdem möglichst weit verbreiten, wie und wie einfach man persönliche Kommunikation sicher verschlüsseln kann, damit nicht dauernd über fehlenden Datenschutz gejammert, sondern endlich was dagegen unternommen wird.
Mittlerweile wird er zum logstash – Guy bei Netways und hält Schulungen und erstellt Schulungsunterlagen zu diesem faszinierenden Tool.
Seit 2017 stellt er sich neuen Herausforderungen als Lead Support Engineer und versucht sein Wissen aus den vorgenannten Tätigkeiten im Produktsupport umzusetzen.