Computersoftware zeichnet Informationen in Anwendungsprotokollen auf, wenn es zu einem Ereignis kommt. Dies geschieht zum Beispiel, wenn ein Webserver eine Datenübertragung protokolliert, eine Datenbankinstanz die erfolgreiche Erstellung eines Backups meldet, oder wenn eine Firewall erfolglose Verbindungsanfragen aufzeichnet.
IT-Teams verwenden häufig Anwendungsprotokolldaten, um Ausfälle zu untersuchen, Fehler zu beheben oder Sicherheitszwischenfälle zu analysieren. Durch die Analyse von Anwendungsprotokollen kann das IT-Team die Ursache von Zwischenfällen ermitteln.
Da immer mehr Log-Management-Systeme auf den Markt kommen, nutzen Unternehmen Anwendungsprotokolle nicht nur zur Fehlerbehebung, sondern auch, um Sicherheitszwischenfälle zu untersuchen, Kundenverhalten nachzuverfolgen, Systemkapazitäten zu planen und die Einhaltung von Vorschriften zu überprüfen.
In diesem Artikel geht es darum, was ein Anwendungsprotokoll ist, welche Arten von Anwendungsprotokollen es gibt und wie ein zentralisiertes Log-Management-Tool Ihnen dabei helfen kann, aus diesen Protokollen verwertbare Erkenntnisse für Ihr Unternehmen zu gewinnen. Zudem werden wir Ihnen Humio vorstellen, eine moderne Log-Management-Lösung.
Was ist ein Anwendungsprotokoll?
Software-Anwendungen generieren Protokolle, wenn innerhalb der Anwendung etwas geschieht oder sie durch etwas beeinflusst wird. In der Regel schreiben Anwendungen die relevanten Protokollinformationen in eine Datei auf dem Server der Anwendung. Um Speicherplatz zu sparen, konfigurieren einige Unternehmen die Anwendungen so, dass diese ihre Protokolle an eine Netzwerkfreigabe, einen dedizierten Syslog-Server oder eine Protokollierungsanwendung über einen Webhook senden. Cloudbasierte Anwendungen können ihre Protokolle in den Protokollierungs-Service der Cloud schreiben.
Einige Protokollereignisse beziehen sich auf den Zustand interner Anwendungen, zum Beispiel:
- Arbeitsspeicherverluste
- Fehler bei nicht vorhandenen Pfaden
- Ausnahmefehler im Code
- Systemabstürze
Andere Ereignisarten beziehen sich auf externe Faktoren, die von der Anwendung erkannt wurden, zum Beispiel:
- Speicherplatzwarnungen
- Server-Neustarts
- Verlust des Netzwerkzugriffs
Jede Anwendung ist unterschiedlich, weshalb die aufgezeichneten Ereignisse von der jeweiligen Protokollierungskonfiguration abhängen. Meist werden kritische Ereignisse wie Fehler oder Warnungen standardmäßig protokolliert. Es können jedoch auch Ereignisse im Zusammenhang mit erfolgreich abgeschlossenen Vorgängen wie data transfer complete
(Datenübertragung abgeschlossen), backup successful
(Backup erfolgreich erstellt) oder shutting down gracefully
(ordnungsgemäß heruntergefahren) auftauchen.
In den meisten Anwendungsprotokollen gibt es einige Standardfelder:
- Zeitstempel: Datum und Uhrzeit des Ereignisses gemäß der Ortszeit des Servers oder einer anderen Zeitzone (z. B. UTC)
- Protokollebene: Schweregrad des Ereignisses (z. B.
DEBUG
,INFO
,WARNING
undCRITICAL
) - Benutzername: der Netzwerkbenutzer (oder angemeldete Benutzer), der für das Ereignis verantwortlich ist; bei einigen systembezogenen Ereignissen bleibt dieses Feld leer
- Quell-IP-Adresse: die IP-Adresse des Clients (Anwendungsprozess oder Benutzer); bei lokalen Ereignissen ist dieses Feld mitunter leer
- Ziel-IP-Adresse: die IP-Adresse des lokalen Servers
- Ereignisnachricht: die Ereignisbeschreibung, meist in Kurztextform
Arten von Anwendungsprotokollen
Je nachdem, welche Ereignisse protokolliert werden, gibt es verschiedene Arten von Anwendungsprotokollen.
Zugriffs-, Authentifizierungs- und Autorisierungsprotokolle
Die Protokolle zeigen Folgendes:
- Wer sich an- und abgemeldet hat
- Ob der Vorgang erfolgreich abgeschlossen wurde
- Wer auf Ressourcen wie Dateien und Datenbanktabellen zugegriffen hat
- Wer Daten angefordert hat
- Wie diese im Netzwerk bewegt wurden
Anhand dieser Protokolle können die Aktionen von Benutzern im gesamten Netzwerk nachverfolgt werden. Sie können mit diesen Protokollen Zugriffsprobleme beheben, Sicherheitszwischenfälle untersuchen oder das Benutzerverhalten analysieren.
Der folgende Ausschnitt zeigt ein Apache-Zugriffsprotokoll:
127.0.0.1 - jbloggs [12/Oct/2021:13:55:36 -0700] "GET /server-status HTTP/1.1" 404 2457
Das protokollierte Ereignis zeigt, dass Benutzer jbloggs
am 12. Oktober 2021 um 13:55 Uhr lokaler Serverzeit auf den lokalen Webserver zugegriffen hat. Der Benutzer hat auf die Seite server-status
im Stammverzeichnis des Webservers zugegriffen, woraufhin der Webserver einen 404
-Fehler (Seite wurde nicht gefunden) meldete. Die übertragenen Daten hatten eine Größe von 2457 Byte.
Änderungsprotokolle
Änderungsprotokolle geben Aufschluss über die innerhalb einer Anwendung vorgenommenen Änderungen. Das sind beispielsweise folgende:
- Hinzufügen neuer Benutzer
- Änderung von Berechtigungen
- Whitelisting von IP-Adressen
- Änderung von Konfigurationsparametern
- Aktualisierung von Software
Wenn etwas in einer Anwendung nicht mehr funktioniert, kann dies möglicherweise auf eine kürzlich vorgenommene Konfigurationsänderung zurückzuführen sein. Anhand von Änderungsprotokollen lässt sich erkennen, was wann geändert wurde und wer die Änderungen vorgenommen hat. Diese Informationen können dabei helfen, Probleme schneller zu beheben.
Zudem kann das SecOps-Team Änderungsprotokolle nutzen, um Sicherheitszwischenfälle zu erkennen. Das Team kann zum Beispiel Warnungen einrichten, die ausgelöst werden, wenn neue privilegierte Benutzer erstellt oder neue Softwarebibliotheken registriert werden.
Das nachfolgende Ereignis zeigt, dass der Active Directory-Administrator (AD) einen neuen Benutzer erstellt hat.
A user account was created. Subject: Security ID: DOMAIN-FR\administrator Account Name: administrator Account Domain: DOMAIN-FR Logon ID: 0x20f9d New Account: Security ID: DOMAIN-FR\John.Bloggs Account Name: John.Bloggs Account Domain: DOMAIN-FR
Fehlerprotokolle
Fehlerprotokolle enthalten weitere Details über Abläufe in der Anwendung, bei denen Fehler aufgetreten sind. Einige Fehler führen nicht zu Leistungseinbußen; werden sie jedoch nicht behoben, können sie Ausfälle verursachen. Durch die Überwachung von Fehlerprotokollen können Probleme identifiziert werden, bevor diese sich zu Zwischenfällen entwickeln, was die mittlere Zeit bis zur Wiederherstellung (MTTR) verkürzt. Historische Analysen können Muster im Leistungs- oder Benutzerverhalten aufzeigen, die zu Fehlerbedingungen führen.
Wenn Benutzer beispielsweise immer wieder Zeitüberschreitungsfehler erhalten, kann dies auf Netzwerklatenzen, Kapazitätsprobleme oder schlecht eingestellte Schwellenwerte für Zeitüberschreitungen hinweisen. Fehler von Anwendungsbibliotheken lassen auf ein Inkompatibilitätsproblem infolge eines Upgrades oder eine nicht unterstützte Bibliotheksversion schließen.
Wenn Fehlerprotokolle Ausnahmefehler innerhalb einer Anwendung aufdecken, können Entwickler mit diesen Informationen einen Patch für das System erstellen.
Anwendungsfehler treten aus vielerlei Gründen auf, weshalb die Ereignisse im Fehlerprotokoll stark variieren können. Folgende Fehler werden häufig protokolliert:
- Speicherplatzwarnungen
- Bevorstehender Lizenzablauf
- Anwendungabstürze
- Speichermangel
- Speicherabbilder
- und andere
Der folgende Code-Ausschnitt zeigt ein Fehlerereignis, das wegen unzureichendem Speicherplatz generiert wurde.
"EventTime": "2022-06-22T13:48:55.445645-08:00", "Hostname": "WIN-26101992", "Message": "There is not enough disk space available to complete this operation", "Severity": "CRITICAL"
Verfügbarkeitsprotokolle
Verfügbarkeitsprotokolle enthalten Informationen über die Verfügbarkeit von Anwendungen. Dies sind Beispiele für Verfügbarkeitsprotokolle:
- Clusterprotokolle, die Failover oder das Hinzufügen/Entfernen von Knoten zeigen
- Systemprotokolle über erfolgreiche Datensicherungen
- Betriebssystemprotokolle über Abschaltungen und Neustarts
- Replikationsprotokolle mit Latenzen
Verfügbarkeitsprotokolle sind hilfreich bei der Erstellung von SLA-Berichten. Sie eignen sich, um Betriebszeiten von Anwendungen zu berechnen, ungeplante Abschaltungen oder Failover zu untersuchen oder erwartetes Verhalten in Wartungszeiträumen zu bestätigen. Der folgende Ausschnitt zeigt einen Beispiel-Eintrag in einem Verfügbarkeitsprotokoll:
"EventTime": "2022-06-22T13:48:55.445645-08:00", "Hostname": "WIN-12101992", "Uptime": "72000", "LastReboot": "2022-06-21T17:48:55.487655-08:00" "Severity": "INFO"
Vorteile von Log-Management-Lösungen
Häufig gestaltet sich die Analyse von Anwendungsprotokollen direkt auf dem Host-System als schwierig. Die Protokolle sind häufig sehr ausführlich, komplex und schwer zu korrelieren. Zudem werden einige Protokolle laufend aktualisiert, sodass ein Überblick über alle Nachrichten häufig nur mit Mühe zustande kommt. Außerdem bestehen verteilte Anwendungen aus vielen beweglichen Teilen, von denen alle über ein eigenes Protokoll verfügen. Die Korrelation all dieser Protokolle für ein bestimmtes Ereignis kann der Suche nach einer Nadel im Heuhaufen gleichen.
An dieser Stelle sind Log-Management-Lösungen hilfreich. Eine Log-Management-Lösung verarbeitet Anwendungsprotokolle aus all Ihren Systemen, analysiert und katalogisiert sie, und ermöglicht Ihnen dann, die Daten zu durchsuchen. Dies hat mehrere Vorteile.
Schnellere Fehlerbehebung
Log-Management-Lösungen erleichtern und beschleunigen die Fehlerbehebung von Zwischenfällen, da alle Protokolle in einer übersichtlichen Benutzeroberfläche zugänglich sind. Die IT-Mitarbeiter müssen sich nicht bei jedem Server einzeln anmelden oder Befehle wie „tail“ und „grep“ verwenden, um Ergebnisse zu filtern.
Zugriff auf relevante Informationen
Sie können benutzerdefinierte Konfigurationen zur Protokollanalyse nutzen, um nur die relevanten Daten aus Anwendungsprotokollen zu extrahieren. In Abfragen wird dadurch die Menge an Daten begrenzt und Dashboards sowie Diagramme werden vereinfacht.
Historische Analysen
Log-Management-Lösungen ermöglichen es, größere Mengen an Daten länger aufzubewahren, als auf einem einzelnen Server oder einer Netzwerkfreigabe gespeichert werden könnte. Dadurch können bessere historische Analysen der Anwendungsdaten durchgeführt werden, die besonders für Trendberichte wertvoll sind.
Korrelation von Protokollen
Log-Management-Lösungen besitzen integrierte Parser, die gängige Protokolltypen erkennen können. So lassen sich Protokolle aus verschiedenen Anwendungen leichter verarbeiten und mithilfe von Standardfeldern wie Benutzername oder IP-Adresse korrelieren. Durch die Korrelation von scheinbar zusammenhanglosen Ereignissen entsteht mitunter Kontext, der sonst nicht ersichtlich wäre.
VISUALISIERUNG
Dashboards mit Grafiken, Diagrammen oder Geolokalisierungskarten erleichtern die Erkennung von Trends, Anomalien oder Aktivitätsspitzen von Anwendungen.
Warnungen
Mit Log-Management-Lösungen können Warnungen auf der Basis vordefinierter Kriterien (z. B. Schwellenwerte für den Wert eines bestimmten Feldes) eingerichtet werden. Die Warnungen werden ausgelöst, wenn die protokollierten Ereignisse zeigen, dass der Wert des Feldes den Schwellenwert überschritten hat, woraufhin die entsprechenden Teams benachrichtigt werden.
So lassen sich beispielsweise Warnungen für schwerwiegende oder kritische Fehler, verdächtige Anmeldeaktivitäten oder hohe CPU-Auslastung einrichten. Einige Lösungen können automatisch Aktionen auslösen, z. B. das Erstellen eines Service-Desk-Tickets oder das Ausführen automatisierter Behebungsmaßnahmen aus einem Playbook.
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