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 ausfü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.
0 Kommentare