Definition von Fehlerprotokollen

Ein Fehlerprotokoll ist eine Datei mit detaillierten Informationen zu Fehlerbedingungen, die eine Computersoftware während ihrer Ausführung registriert. Die Bezeichnung ist generisch. Manchmal kann eine Anwendung in ihrem Fehlerprotokoll auch Meldungen erfassen, die gar keine Fehler sind. In der Regel sollen Fehlerprotokolle jedoch nur Fehlermeldungen erfassen, die von Programmen wie Server- oder Netzwerkbetriebssystemen oder Anwendungen von Drittanbietern generiert werden. In diesem Artikel konzentrieren wir uns nur auf Anwendungsfehlerprotokolle.

Wenn es bei einer Anwendung zu einem Ausfall oder einem Leistungsproblem kommt, können Sie die Ursache am schnellsten bestimmen, indem Sie nach dem Fehlerprotokoll der Anwendung suchen und die Fehlermeldungen prüfen. Hochwertige Fehlerprotokolle liefern genügend Informationen, um sofort mit der Fehlerbehebung zu beginnen zu können. Sie verraten Ihnen, was passiert ist, wann es passiert ist, wie kritisch es war und vielleicht sogar den Namen des betroffenen Moduls oder eine Trace-ID, um die Korrelation mit anderen Ereignissen zu ermöglichen.

Fehlerprotokolle sind von unschätzbarem Wert für den Betrieb herkömmlicher Überwachungs- und SIEM-Systeme (Sicherheitsinformations- und Ereignismanagement). Diese Überwachungslösungen können kritische Fehler in den Protokollen parsen und identifizieren, historische Trends ähnlicher Fehler aufzeigen und bei sicherheitsrelevanten Vorfällen Warnungen ausgeben.

In diesem Artikel erfahren Sie, was ein typisches Anwendungsfehlerprotokoll enthält, wie es Ihr operatives Team unterstützen kann und wie Sie es optimal nutzen.

Was enthalten Fehlerprotokolle?

Fehlerprotokolle können zwei Arten von Anwendungsfehlern festhalten: unbehandelte Fehlermeldungen und benutzerdefinierte Fehlermeldungen. Eine unbehandelte Fehlermeldung wird auch als „nicht abgefangene Meldung“ bezeichnet, weil sie nicht vom Code des Entwicklers verarbeitet werden. Manchmal geben die Bibliotheken oder Laufzeiten einer Anwendung einen Fehler aus, wobei die Laufzeiten nicht vom Anwendungsentwickler programmiert, sondern vom Compiler in der Build-Phase hinzugefügt werden. Beispiele für unbehandelte Fehler sind Variablentypkonflikte, Division durch Null usw.

Benutzerdefinierte Fehlermeldungen werden hingegen von Ausnahme-Handlern im Programmcode protokolliert. Dabei handelt es sich um Fehlerbedingungen, die der Entwickler antizipiert und für die er Code geschrieben hat. Eine Bankanwendung kann beispielsweise einen Fehler protokollieren, wenn der Benutzer versucht, mehr als das aktuelle Guthaben abzuheben. Die Meldung wird dann wahrscheinlich eher menschenlesbar sein.

Ob ein Fehlerprotokoll hilfreich ist oder nicht, hängt von den Informationen ab, die für jedes Fehlerereignis aufzeichnet werden. Ohne ausreichende Details ist es schwierig, Korrekturmaßnahmen zu ergreifen. Verschiedene Anwendungen liefern unterschiedliche Details zu ihren Fehlern. Gut programmierte Fehlerprotokolleinträge sind jedoch strukturiert und haben einige gängige Felder:

Zeitstempel

Dieses Feld zeigt das an, wann der Fehler aufgetreten ist (Datum und Uhrzeit). Idealerweise sollte es auch die Zeitzone enthalten. Dies ist besonders hilfreich bei verteilten Systemen. Der ISO 8601-Standard ist ein allgemein akzeptiertes Format. Es sieht wie folgt aus:

2022-04-15T14:19:10+00:00 2022-04-15T14:20:10+00:00 …

Schweregrad

Die meisten Protokolleinträge geben den Schweregrad an, um zu zeigen, ob sofortige Aufmerksamkeit erforderlich ist. Häufig verwendete Schweregradebenen sind TRACE, DEBUG, INFO, WARN, ERROR und FATAL, wobei TRACE am unwichtigsten und FATAL am kritischsten ist. Überwachungssysteme können basierend auf diesen Schweregraden automatische Warnungen senden und automatisierte Aktionen auslösen.

Ein Volume, auf dem der Speicherplatz knapp wird, kann zum Beispiel mit der Ebene WARN protokolliert werden. Wenn eine Überwachungslösung diesen Fehler vorfindet, kann sie eine Warnmeldung an das operative Team senden und anschließend ein Support-Ticket erstellen. Andererseits kann ein komplett belegter Festplattenspeicher als CRITICAL protokolliert und daraufhin von der Überwachungslösung automatisch erweitert werden.

Benutzer

Dieses Feld zeigt den mit dem Fehler verknüpften Netzwerkbenutzernamen an – in der Regel ist es eine Aktion des Systembenutzers, die den Fehler verursacht hat. Benutzernamen können bei der Fehlerbehebung oder bei Verlaufsanalysen helfen. Beispielsweise könnten Sie in Fehlerprotokollen prüfen, ob bei einigen Benutzern mehr Fehler auftreten als bei anderen. Allerdings ist nicht mit jedem Protokollereignis ein Benutzer verknüpft.

Beschreibung

Hier finden Sie eine kurze Erklärung des Fehlers. Fehlerprotokolle werden häufig in zeitkritischen Situationen genutzt. Daher muss die Fehlerbeschreibung kurz und knapp gehalten werden, immer aber alle notwendigen Informationen enthalten. Wenn ein Benutzer beispielsweise nicht auf eine Anwendung zugreifen kann, ist eine Fehlerbeschreibung wie „Zugriff verweigert“ nicht wirklich hilfreich. Besser wäre zum Beispiel „Zugriff verweigert: Unzureichende Berechtigungen“.

Neben den gängigen Feldern können Sie in Fehlerprotokollen unter anderem häufig auch folgenden Attributen begegnen:

  • Fehler-IDs: Fehler-IDs werden für die eindeutige Identifizierung des jeweiligen Fehlertyps verwendet.
  • IP-Adressen: Einige Fehlermeldungen geben die IP-Adressen der Quell- und Zielgeräte an.
  • Gerät oder Server: Hierbei kann es sich um den Netzwerknamen oder die IP-Adresse des Geräts handeln, auf dem die Anwendung einen Fehler ausgegeben hat.

Vorteile von Fehlerprotokollen

Fehlerprotokolle können mit einem Flugschreiber verglichen werden. Sie sind die erste Informationsquelle für die meisten Support-Techniker und bieten u. a. folgende Vorteile:

Schnellere Problemlösung

Fehlerprotokolle tragen dazu bei, die mittlere Zeit bis zur Behebung eines Problems (MTTR) in Ihrer IT-Umgebung zu verkürzen, insbesondere wenn sie in einem modernen Log-Management-System erfasst werden. Mit Log-Management-Lösungen können Sie die Fehler filtern, durchsuchen und finden, relevante Feldwerte aufrufen, Ereignisse zwischen mehreren Fehlerprotokollen korrelieren und potenzielle zukünftige Probleme vorhersagen. Mit diesen Schritten können Sie proaktive Maßnahmen ergreifen, die die Ausfallwahrscheinlichkeit zusätzlich verringern.

Einfachere Entscheidungsfindung

Mithilfe von Dashboards, Trenddiagrammen, Top-N-Fehlern nach Wichtigkeit und verschiedenen Berichten in Log-Management-Lösungen können Sie bestimmen, welche Fehler kritisch sind, wie die betroffenen Systeme funktionieren und ob es sinnvoll ist, sie sofort zu prüfen. Analog können Muster in den Fehlerprotokollen auf verborgene Probleme hindeuten und Teams in die Lage versetzen, schnell proaktive Maßnahmen zu ergreifen und Kundenbeschwerden vorzubeugen.

Bessere Leistung

Fehlerprotokolle können Leistungsprobleme von Anwendungen aufdecken. So können Sie erkennen, wann Ihre Anwendung „hängt“, auf Speicherprobleme zusteuert oder einen niedrigen Durchsatz hat. Die Analyse von Protokollen im zeitlichen Verlauf kann typische Ursachen für Leistungsengpässe aufdecken. Beispielsweise kann die Prüfung eines Fehlerprotokolls, das abgebrochene Warenkorbereignisse enthält, auf Leistungsprobleme Ihrer E-Commerce-Anwendung bei Black Friday-Kampagnen hinweisen – und Sie dazu veranlassen, Ihre Infrastruktur nur während dieser Zeit zu skalieren.

Verbesserte Sicherheit

Fehlerprotokolle spielen bei der Problembehebung von Sicherheitsvorfällen eine entscheidende Rolle. Die Analyse historischer Aufzeichnungen zu sicherheitsbezogenen Fehlern kann Ihnen dabei helfen, normales von verdächtigem Verhalten zu unterscheiden. Wenn Sie beispielsweise bei einer Anwendung ein konsistentes Muster mit mehreren fehlgeschlagenen Anmeldeversuchen über mehrere Benutzerkonten hinweg entdecken, möchten Sie wahrscheinlich feststellen, ob diese Benutzer weiterhin aktiv sind, und sie auffordern, sicherere Kennwörter oder sogar Zwei-Faktor-Authentifizierung zu verwenden. Mit einem SOAR-Tool (Security Orchestration, Automation and Response) können Sie im weiteren Verlauf eine Aktion hinzufügen, die betroffene Konten automatisch deaktiviert.

Optimale Nutzung von Fehlerprotokollen

Die Vorteile von Fehlerprotokollen sind offensichtlich. Sie sind jedoch oft sehr umfangreich und das Erfassen, Analysieren und Indexieren vieler Ereignisse kann für Log-Management-Systeme zeitaufwändig sein. Daher sollten Sie einige allgemeine Prinzipien befolgen, um Fehlerprotokolle optimal zu nutzen.

Verwenden von Filtern

Filtern Sie unnötige Ereignisse aus dem Fehlerprotokoll heraus und erfassen Sie nur Ereignisse, die für Sie von Interesse sind. Konfigurieren Sie die Anwendung dazu so, dass nur bestimmte Arten von Ereignissen oder solche ab einem bestimmten Schweregrad protokolliert werden. Eine weitere Option besteht darin, nur relevante Ereignisse herauszufiltern und an die Protokollierungsanwendung zu senden.

Festlegen, wie mit Ereignissen verfahren werden soll

Entscheiden Sie basierend auf dem Schweregrad, welche Maßnahme bei einem Ereignis ergriffen wird. Bei Fehlern der Stufe CRITICAL oder FATAL könnten Sie beispielsweise Warnungen und automatisierte Aktionen auslösen und bei Fehlern der Stufe WARN Problemtickets erstellen. Für die Definition solcher Aktivitäten benötigen Sie Feedback von Ihren Unternehmens- und Anwendungsverantwortlichen, technischen Leitern und operativen Teams.

Warnmeldungen nur an die relevanten Teams

Sobald Sie wissen, welche Ereignisse Sie erfassen und wie Sie damit verfahren möchten, stellen Sie sicher, dass nur die relevanten Teams darüber informiert werden. Unnötige Warnmeldungen an alle können zu Fehlermüdigkeit führen, sodass in der Folge möglicherweise wichtige Ereignisse übersehen werden. So könnte beispielsweise nur das Infrastrukturteam speicherbezogene Fehlermeldungen und nur das SecOps-Team sicherheitsbezogene Fehlermeldungen erhalten.

Analysieren von Fehlern im zeitlichen Verlauf

Auch wenn Sie gerade keine Probleme beheben, können Sie historische Fehlertrends auf Anomalien untersuchen und mit ähnlichen Zeiträumen in der Vergangenheit vergleichen. Diese Erkenntnisse können beim Baselining und Benchmarking helfen. Wenn Sie beispielsweise feststellen, dass vermehrt leistungsbezogene Fehler auftreten, wenn die CPU-Auslastung 80 % oder die Verbindungsrate des API-Clients 50 Verbindungen pro Sekunde übersteigt, wissen Sie, dass dies die Baseline-Werte sind. Diese Werte können Sie später für das Benchmarking nutzen, wenn Sie weitere Infrastrukturkapazitäten hinzufügen.

Generierung verwertbarer Warnungen

Mit Warnmeldungen, die durch Fehler ausgelöst werden, sollte immer ein klarer, vereinbarter Aktionsplan verknüpft sein. Eine RACI-Matrix ist ein wertvolles Werkzeug, um die Hauptakteure zu identifizieren, die bei einer Warnmeldung involviert werden sollten. Analog helfen Playbooks, automatisierte Aktionen festzulegen. Operative Teams sollten die Automatisierungsfunktionen ihrer Log-Management-Lösungen nutzen, um Reaktionszeiten zu verkürzen und die Servicequalität zu verbessern.

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

Kostenlos testen