2017-12-07 4 views
0

Wir haben 50+ Server, die alle viele Protokolle generieren, und sie werden über rsyslog an eine dritte Partei (Logtrust) gesendet, damit wir eine zentralisierte Analyse durchführen können. Logtrust ermöglicht auch Echtzeitanalysen.Best Practices für die netzwerkfähige zentralisierte Protokollierung

Ab sofort speichern wir keine lokalen Dateiprotokolle unserer Anwendungen. Sie alle schreiben in syslog - das schreibt direkt an Logtrust.

Ich möchte nicht alle unsere Protokolle lokal, aber ich bin besorgt über die harte Abhängigkeit von Drittanbieter/Off-Maschine. Wenn unsere Logs aus irgendeinem Grund nicht zu ihnen gelangen (Probleme mit der lokalen Konfiguration, lokale Relays, Serverabstürze von Drittanbietern, Netzwerk-/ISP-Probleme), haben wir keinen Einblick in unsere Logs.

Wir können Rsyslog auch in eine lokale Datei schreiben und log drehen, damit es nicht zu groß wird (1 GB zum Beispiel), oder wir können jede Anwendung ein eigenes T-Stück zu Syslog und einer lokalen Datei verwalten.

Wie groß wäre diese Dateigrenze? Sollten wir uns überhaupt lokal einloggen? Was sind die besten Praktiken der Branche?

Antwort

-1

Es gibt mehrere Möglichkeiten. rsyslog ist ein sehr stabiles und performantes Produkt, daher würde ich in jedem Fall empfehlen, dass Ihre Anwendungen immer mit rsyslog kommunizieren und nicht direkt in eine Datei schreiben.

In rsyslog können Sie mehrere Aktionen für Ihre Protokollnachrichten definieren.

Eine Aktion ist dafür verantwortlich, Protokolle an Logtrust zu senden. Diese Aktion sollte über eine datenträgergestützte Speicherwarteschlange verfügen (http://www.rsyslog.com/doc/v8-stable/concepts/queues.html). Wenn rsyslog einige Nachrichten nicht an Logtrust weiterleiten kann, werden die Nachrichten in der rsyslog-Warteschlange zwischengespeichert, bis die Zustellung möglich ist.

können Sie weitere Aktionen definieren:

  • können Sie fragen rsyslog auch jede Nachricht in eine lokale Datei mit einer Datei Aktion zu schreiben. Verwenden Sie dann logrotate, um ältere Dateien zu löschen. Die Aufbewahrungsfrist sollte groß genug sein, damit Sie im Fall von Vorfällen genügend Zeit haben, die Angelegenheit zu untersuchen. Also in der Regel zwischen 3 Tagen (mit Wochenenden bewältigen) und 1 Woche.

  • Wenn Sie sich die Komplexität leisten können, können Sie eine zentralisierte rsyslog-Instanz intern einrichten. Der zentrale Server sammelt die Protokolle aller Ihrer Anwendungen und dient als Backup-Lösung für den Fall, dass Logtrust heruntergefahren wird. Verwenden Sie zwischen der lokalen rsyslog-Instanz und der zentralen rsyslog-Instanz das Protokoll RELP, um sicherzustellen, dass keine Protokolle verloren gehen.

  • Wenn Sie in der Lage sein müssen, die Protokolle in Ihrer zentralisierten Instanz effizient zu durchsuchen, ist es die beste Methode, sie in Elasticsearch oder Graylog (ebenfalls auf Elasticsearch basierend) zu speichern. Rsyslog kann Protokolle an beide Produkte nativ weiterleiten.

Verwandte Themen