Zentralisierte Protokollierung bezeichnet den Prozess der Erfassung von Protokollen aus Netzwerken, Infrastruktur und Anwendungen an einem einzigen Ort zu Speicher- und Analysezwecken. Administratoren erhalten damit eine konsolidierte Ansicht aller Aktivitäten im gesamten Netzwerk, sodass sie Probleme leichter identifizieren und beheben können.
In diesem Artikel befassen wir uns mit den Vorteilen einer zentralisierten Protokollierungsarchitektur, deren Funktionsweise und der Erstellung eines zentralisierten Protokollierungs-Workflows.
Warum sind Protokolle notwendig?
Protokolle ermöglichen die Kontrolle von Systemaktivitäten, Ereignissen oder Änderungen in einem IT-System und können bei der Behebung von Systemfunktionsproblemen, Leistungsproblemen oder Sicherheitsvorfällen helfen. Anhand von Systemprotokollen können Sie feststellen, wann und von wem Änderungen am System vorgenommen wurden. Darüber hinaus werden Protokolle häufig aufgrund gesetzlicher Vorgaben benötigt.
Herkömmliche Single-Service-Protokollierungssysteme
Herkömmliche Protokollierungssysteme konzentrierten sich nur auf den einen Rechner, auf dem sie installiert waren. Dies galt als angemessen, weil damals noch einzelne, eigenständige Server alle Services implementierten. In Zeiten von Multi-Tier-Mikroservices und Netzwerkkonnektivität haben Sie jedoch keinen vollständigen Überblick mehr, wenn Sie nur eine einzige Datenquelle betrachten.
Wenn zum Beispiel Ihre Datenbank langsam läuft, reicht es vielleicht nicht aus, die Datenbankprotokolle im Hinblick auf langsame Abfragen zu analysieren. Die meisten Systeme haben mit Front-End, Middleware und Datenbanken mehrere Ebenen. Daher müssen Sie sich unter Umständen auch die vom zuständigen Server und Speichersubsystem generierten Protokolle sowie die Geschwindigkeit der Namensauflösung und das Netzwerk ansehen.
Bedeutung der Protokollerfassung über verteilte Komponenten hinweg
Die einzige Möglichkeit, alle Abläufe in einem verteilten System wirklich zu verstehen, besteht daher in der Echtzeiterfassung aller im gesamten Netzwerk protokollierten Ereignisse. Dazu gehören die Protokolle folgender Komponenten:
- Serverinfrastruktur
- Speicher
- Datenbank
- API-Gateways
- Load Balancer
- Firewalls
- ... und andere
Zur Behebung eines Problems müssen Sie häufig Ereignisse aus mehreren Protokollquellen korrelieren. Das ist nur möglich, wenn Sie die Protokolle aller Komponenten erfassen, die die Ausführung Ihrer Anwendungen ermöglichen.
Der Ansatz, sich täglich manuell anzumelden, um auf mehrere – vielleicht dutzende – Infrastrukturkomponenten zuzugreifen und dann hunderte (oder tausende) Protokollzeilen zu lesen, ist mühsam, wenn nicht gar unmöglich. Er ist reine Zeitverschwendung und führt fast sicher dazu, dass Sie wichtige Ereignisse an der einen oder anderen Stelle verpassen. Dennoch können Sie es sich nicht leisten, diese Protokolle zu ignorieren.
Die einzig praktikable Lösung ist daher eine zentrale Konsole, d. h. eine Lösung, die sich automatisch mit all Ihren Systemen verbindet, deren Protokolle in Echtzeit erfasst und sie dann in einer ansprechenden, leicht verständlichen Oberfläche präsentiert. Betrachten wir einige der Vorteile der zentralisierten Protokollierung.
Vorteile der zentralisierten Protokollierung
Verarbeitung mehrerer Protokollformate
Multi-Tier-Systeme können Protokolle in verschiedenen Formaten generieren. Linux-Systeme verwenden beispielsweise rsyslog oder journald, während Windows über Ereignisprotokolle verfügt. Andere Systeme wie Datenbanken, Firewalls und SAN-Systeme wiederum können mit proprietären Formaten arbeiten.
Effiziente zentrale Speicherung
Häufig tragen Systeme Terabytes an Protokollen zusammen. Diese Datenmengen können Speichergeräte schnell überlasten, die Systemintegrität gefährden und zu Leistungseinbußen bei den Anwendungen führen.
Eine moderne Log-Management-Lösung kann alle erfassten Protokolle mithilfe von Komprimierungsalgorithmen filtern, um die Effizienz der Speicher- und Aufbewahrungskapazitäten zu definieren. Alle erfassten Protokolle werden an einem zentralen Ort gespeichert, sodass die Server ihre Protokollkopien rotieren können, um lokalen Speicherplatz zu sparen. Zentralisierte Protokollierungssysteme speichern Protokolle normalerweise in einem proprietären, komprimierten Format, wobei Sie gleichzeitig konfigurieren können, wie lange die Protokolle aufbewahrt werden sollen.
Schnellere protokollübergreifende Suchabfragen
Ein zentralisiertes Protokollierungssystem bietet die Möglichkeit, tausende Ereigniszeilen nach bestimmten Informationen zu durchsuchen oder Informationen zu extrahieren und schnell und effizient zusammenzufassen. Durch die geringen Latenzzeiten bei der Erfassung können Kunden Abfragen in Sekundenbruchteilen ausführen und genauso schnell Suchergebnisse erwarten.
Ereigniskorrelation
Analog dazu können moderne zentralisierte Logging-Systeme protokollierte Ereignisse mit zusätzlichen Informationen ergänzen und anreichern. Sie nutzen künstliche Intelligenz, um scheinbar unterschiedliche Informationen zu korrelieren. Ereigniskorrelation ist die Fähigkeit, zwei oder mehr verwandte Ereignisse miteinander zu verbinden, um Probleme zu erkennen und Ursachen zu bestimmen. Solche Plattformen können Trends und Anomalien in Dashboards und Diagrammen anzeigen. Zudem bieten sie Einstellungen, die Sie warnen, wenn wichtige Trends, Anomalien und Ereigniskorrelationen gefunden werden.
Die Berichte und Dashboards eines zentralisierten Protokollierungssystems können auch für sekundäre Zwecke wie Budgetierung, Kapazitätsplanung und Leistungsbenchmarking genutzt werden.
Sicherheitsanalysen
Eine hochentwickelte zentralisierte Protokollverwaltung wird zudem für effektive Cybersicherheitskontrollen per Sicherheitsinformations- und Ereignismanagement (SIEM) und Security Orchestration, Automation and Response (SOAR) benötigt. Außerdem können Sie so von den Kostenvorteilen von SIEM- und SOAR-Lösungen profitieren. Modernes Log-Management kann parallel betrieben werden und Kunden die längere Aufbewahrung und Speicherung zu einem Bruchteil der Kosten ermöglichen.
Wie funktioniert zentralisierte Protokollierung?
Sowohl der verteilte als auch der zentralisierte Protokollierungsprozess bestehen aus vier Schritten:
- Erfassung
- Verarbeitung
- Indexierung
- Visualisierung
Nachfolgend sehen wir uns diese Schritte genauer an.
Erfassung
Der erste Schritt bei der Protokollanalyse besteht darin, alle Protokolle zu erfassen und an einen sicheren zentralen Ort zu bringen, an dem sie bei Bedarf abgerufen und analysiert werden können.
Dafür müssen die Quellsysteme in die Protokollierungsanwendung integriert werden. Diese Integration kann ein Agent auf dem Quellserver leisten, wobei der Agent die Serverprotokolle liest und sie über einen bestimmten Port an die zentralisierte Protokollierungsplattform sendet.
Die Integration kann aber auch mit nativen Methoden erfolgen. Beispielsweise kann der Syslog-Daemon eines Servers so eingerichtet werden, dass er Protokolldaten direkt an den Protokollierungsserver sendet. Bei Services, die in der Cloud gehostet werden, kann die Integration das Herstellen einer Verbindung zur Protokollierungsumgebung des Cloud-Services (z. B. AWS CloudWatch oder Azure Monitor) und das Lesen der Ereignisse umfassen.
Verarbeitung
Im nächsten Schritt – der Verarbeitung – werden alle erfassten Protokollrohdaten in ein leicht nutzbares Format konvertiert. Dabei können die protokollierten Ereignisse geparst und bestimmte relevante Felder wie Datum/Uhrzeit, Quell-IP-Adresse, Benutzername, Anwendungsname und Ereignismeldung extrahiert werden.
Die Verarbeitung kann auch Schritte zur Anreicherung der Protokollinformationen beinhalten. So kann ein Protokoll beispielsweise mit IP-Adressen angereichert werden, indem deren geografische Standorte abgerufen und diese Informationen zum Ereignisstrom hinzugefügt werden. Ebenso können Zeitstempel unterschiedlicher Protokolle in eine gemeinsame Zeitzone umgewandelt werden.
In einem weiteren Verarbeitungsschritt können unnötige Datensätze herausgefiltert und der Rest komprimiert werden.
Indexierung
Der nächste Schritt – die Indexierung – ist ein interner Prozess, bei dem die Logging-Plattform alle protokollierten Ereignisse nach ihrer Verarbeitung indexiert. Das ist vergleichbar mit der Erstellung eines Volltext- oder Datenbankindexes. Mit einem solchen Index kann das Durchsuchen von Protokollen beschleunigt werden.
Protokollierte Ereignisse können unmittelbar nach ihrer Indexierung durchsucht und gefiltert werden.
Visualisierung
In diesem Schritt aktualisiert das zentralisierte Protokollierungssystem alle integrierten und benutzerdefinierten Diagramme und Dashboards und liefert so ein aktuelles Bild des Systems.
Obwohl es sich hier um vier separate Schritte handelt, können sie gleichzeitig und in Echtzeit ausgeführt werden. Wenn Sie sich beispielsweise ein Trenddiagramm ansehen, das auf Ereignissen basiert, die vor einer Minute erfasst wurden, kann das System fortlaufend neue Daten sammeln, verarbeiten und indexieren und die Diagramme dynamisch aktualisieren.
Best Practices für zentralisierte Protokollierung
Obwohl dies ein eigenes Thema ist, möchten wir im Folgenden einige Best Practices beschreiben, die Sie bei der Einführung eines zentralisierten Protokollierungssystems für Ihr Unternehmen berücksichtigen sollten.
Einbinden Ihrer Teams
Binden Sie zunächst die Teams und Personen ein, die die Plattform nutzen werden. Dies können Ihre Entwickler, das DevOps-Team, das SecOps-Team usw. sein.
Bestimmen, was gesammelt werden soll
Sie müssen planen, welche Protokolle für Ihre Überwachungszwecke am wichtigsten sind und welche Ereignisse Sie erfassen möchten. Beispielsweise könnten Sie nur an Verbindungsverweigerungsereignissen in Ihren Firewall-Protokollen interessiert sein. Bedenken Sie außerdem die folgenden Punkte:
- Wie lange möchten Sie Ihre Protokolle aufbewahren?
- Welche Zeitzone soll für die Normalisierung von Zeitstempeln verwendet werden?
- Welche Informationsfelder sollen in allen Protokollen zur Verfügung stehen?
Festlegen der Anforderungen für die Ausgabe
Entscheiden Sie als Nächstes, welche Art von Ausgabe Sie aus den Protokollen erhalten möchten. Sind es Anomalien in Echtzeit oder historische Trends? Oder möchten Sie Ihre Protokolle nur für Sicherheitsereigniswarnungen verwenden?
Sicherstellen, dass Integrationen für alle Ihre Quellsysteme verfügbar sind
Es gibt viele Log-Management-Lösungen auf dem Markt. Einige eignen sich am besten für lokales Hosting, andere basieren auf SaaS. Jede Lösung hat ihre Vor- und Nachteile. Sie müssen sich nicht nur für eine Plattform entscheiden, sondern auch eine Lösung mit (nativen oder über Community-Plug-ins bereitgestellten) Integrationen für alle Quellsysteme finden, die Sie überwachen möchten.
Beachten von Compliance-Anforderungen
Prüfen Sie bei SaaS-Lösungen, ob es gesetzliche Einschränkungen gibt. Während einige Vorschriften die Speicherung von Protokollen in Rechenzentren im Ausland verbieten, verlangen andere Branchenstandards, dass Sie vertrauliche Informationen in Protokollen schwärzen oder verschlüsseln.
Vollständige Protokollierung und Einblicke – kostenlos
Falcon LogScale Community Edition (ehemals Humio) ist eine kostenlose moderne Log-Management-Plattform für die Cloud. Durch die Erfassung von Streaming-Daten erhalten Sie einen sofortigen Überblick über verteilte Systeme und können Zwischenfälle verhindern bzw. beheben.
Falcon LogScale Community Edition ist sofort kostenlos verfügbar und bietet folgende Vorteile:
- Erfassung von bis zu 16 GB pro Tag
- Speicherung bis zu 7 Tage
- Keine Kreditkarte erforderlich
- Unbegrenzter Zugriff ohne Testzeitraum
- Indexlose Protokollierung, Echtzeit-Warnungen und Live-Dashboards
- Zugriff auf unseren Marktplatz und zugehörige Pakete, einschließlich Leitfäden zur Entwicklung neuer Pakete
- Lernen und Kooperation in einer aktiven Gemeinschaft