DE112017003884T5 - Benutzerschnittstelle für Protokollabfragen - Google Patents

Benutzerschnittstelle für Protokollabfragen Download PDF

Info

Publication number
DE112017003884T5
DE112017003884T5 DE112017003884.7T DE112017003884T DE112017003884T5 DE 112017003884 T5 DE112017003884 T5 DE 112017003884T5 DE 112017003884 T DE112017003884 T DE 112017003884T DE 112017003884 T5 DE112017003884 T5 DE 112017003884T5
Authority
DE
Germany
Prior art keywords
rule
attribute
lines
log file
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017003884.7T
Other languages
English (en)
Inventor
Julian Giuca
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Relic Inc
Original Assignee
New Relic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New Relic Inc filed Critical New Relic Inc
Publication of DE112017003884T5 publication Critical patent/DE112017003884T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Eine Reihe von grafischen Benutzerschnittstellen ermöglicht es einem Benutzer, Regeln für das Parsen unstrukturierter und strukturierter Protokolldaten zu definieren und eine aggregierte Regel zu erzeugen, um Ereignisse über mehrere Zeilen einer oder mehrerer Protokolldateien zu identifizieren. Eine erste grafische Benutzeroberfläche ermöglicht es einem Benutzer, eine Zeile aus einer zu analysierenden Protokolldatei auszuwählen, nach übereinstimmenden Zeilen in der Protokolldatei zu suchen, Regeln für das Parsen der Protokolldatei zu definieren und Attribute der ausgewählten Zeilen zu tokenisieren. Eine zweite Benutzeroberfläche ermöglicht es dem Benutzer, definierte Regeln zusammenzufassen, so dass Nachrichten korreliert werden können, um Ereignisse zu identifizieren, die über mehrere Zeilen hinweg auftreten.

Description

  • HINTERGRUND
  • Diese Offenbarung bezieht sich im Allgemeinen auf die Analyse computergenerierter Datensätze, insbesondere auf eine Benutzerschnittstelle zur Umwandlung von Protokollnachrichten in Ereigniseinblicke.
  • Viele Komponenten innerhalb eines verteilten Rechensystems erzeugen Protokolldaten. Mit zunehmender Anzahl, Größe und Komplexität von verteilten Rechennetzwerken nimmt auch das Volumen und die Vielfalt der Protokolldateien zu. Die große Menge an Protokolldaten kann schwierig und mühsam zu analysieren sein. Herkömmliche Protokollierungsprodukte sind oft eingeschränkt, weil sie die Rohtextsuche verwenden oder vorformatierte Datenstrukturen zur Analyse von Protokolldaten verwenden. Dementsprechend wird es für Protokollierungsprodukte immer schwieriger, Protokolldateien zu parsen, potenzielle Probleme zu identifizieren und Fehler für mehrere Datensätze und über mehrere Anwendungen hinweg zu finden.
  • ZUSAMMENFASSUNG
  • Die hierin enthaltenen Ausführungsformen beschreiben eine grafische Benutzerschnittstelle, die es einem Benutzer ermöglicht, Regeln für das Parsen unstrukturierter und strukturierter Protokolldaten zu definieren, indem er mehrere Pars-Regeln erzeugt und verknüpft. Eine erste grafische Benutzerschnittstelle ermöglicht es einem Benutzer, eine Zeile aus einer zu analysierenden Protokolldatei auszuwählen, nach passenden Zeilen in der Protokolldatei zu suchen, Regeln für das Parsen der Protokolldatei zu definieren und Attribute der ausgewählten Zeilen zu tokenisieren. Eine zweite Benutzerschnittstelle ermöglicht es dem Benutzer, die definierten Regeln zu einer aggregierten Regel zu verknüpfen. Die aggregierte Regel kann auf eine oder mehrere Protokolldateien angewendet werden, um Nachrichten in mehreren Protokollzeilen und/oder Protokolldateien zu korrelieren, um Ereignisse zu identifizieren, die über mehrere Zeilen hinweg auftreten.
  • Figurenliste
    • 1 veranschaulicht eine Systemumgebung zum Ausführen einer Benutzerschnittstelle für Protokollabfragen gemäß einer Ausführungsform.
    • 2 ist ein Blockdiagramm, das eine Benutzerschnittstelle zur Definition von Regeln veranschaulicht, um einen oder mehrere Regelsätze zu definieren, um Protokolldateninformationen von einer Anwendung zu parsen, die auf einem Anwendungsserver von 1 ausgeführt wird, gemäß einer Ausführungsform.
    • 3 ist ein Blockdiagramm, das eine Benutzerschnittstelle für Regeln veranschaulicht, um eine Regel zu spezifizieren, die gemäß einer Ausführungsform in den Regelsatz von 2 aufzunehmen ist.
    • 4 ist ein Blockdiagramm, das eine Benutzerschnittstelle zum Suchen nach Zeilen in einer zu analysierenden Protokolldatei ähnlich einer ausgewählten Zeile gemäß einer Ausführungsform veranschaulicht.
    • 5 ist ein Blockdiagramm, das eine Tokenisierungs-Benutzerschnittstelle zum Tokenisieren der ausgewählten Zeile in 3 gemäß einer Ausführungsform veranschaulicht.
    • 6 ist ein Blockdiagramm, das eine Benutzerschnittstelle zur Ereignisaggregation gemäß einer Ausführungsform veranschaulicht.
    • 7A veranschaulicht ein Flussdiagramm, das einen Teil eines Verfahrens zum Spezifizieren eines aggregierten Ereignisses gemäß einer Ausführungsform beschreibt.
    • 7B veranschaulicht ein Flussdiagramm, das einen weiteren Teil des Verfahrens von 7A zum Spezifizieren eines aggregierten Ereignisses gemäß einer Ausführungsform beschreibt.
  • Die Figuren stellen verschiedene Ausführungsformen der vorliegenden Offenbarung nur zur Veranschaulichung dar. Ein Fachmann wird aus der folgenden Diskussion leicht erkennen, dass alternative Ausführungsformen der hierin dargestellten Strukturen und Verfahren verwendet werden können, ohne von den hierin beschriebenen Prinzipien der Offenlegung abzuweichen.
  • DETAILLIERTE BESCHREIBUNG
  • 1 veranschaulicht eine Systemumgebung zum Ausführen einer Benutzerschnittstelle für Protokollabfragen gemäß einer Ausführungsform. In einer Ausführungsform beinhaltet die Systemumgebung einen Server 110, eine Client-Vorrichtung 130 und einen Überwachungsserver 140, die über ein Netzwerk 150 kommunizieren. Die Client-Vorrichtung 130 beinhaltet eine oder mehrere Rechenvorrichtungen, die in der Lage sind, Benutzereingaben zu empfangen sowie Daten über das Netzwerk 150 zu senden und/oder zu empfangen. In einer Ausführungsform ist eine Client-Vorrichtung 130 ein herkömmliches Computersystem, wie beispielsweise ein Desktop- oder Laptop-Computer. Alternativ kann eine Client-Vorrichtung 130 eine Vorrichtung mit Computerfunktionalität sein, wie beispielsweise ein Personal Digital Assistant (PDA), ein Mobiltelefon, ein Smartphone oder eine andere geeignete Vorrichtung. Eine Client-Vorrichtung 130 ist konfiguriert, um über das Netzwerk 150 zu kommunizieren. In einer Ausführungsform führt eine Client-Vorrichtung 130 eine Anwendung aus, die es einem Benutzer der Client-Vorrichtung 130 ermöglicht, mit dem Server 110 zu interagieren. So führt beispielsweise eine Client-Vorrichtung 130 eine Browseranwendung aus, um die Interaktion zwischen der Client-Vorrichtung 130 und dem Server 110 über das Netzwerk 150 zu ermöglichen. In einer weiteren Ausführungsform interagiert eine Client-Vorrichtung 130 mit dem Server 110 über eine Anwendungsprogrammierschnittstelle (API), die auf einem nativen Betriebssystem der Client-Vorrichtung 130, wie beispielsweise IOS® oder ANDROID™, läuft. Obwohl in 1 eine einzelne Client-Vorrichtung 130 dargestellt ist, kann eine beliebige Anzahl von Client-Vorrichtungen 130 über das Netzwerk 150 mit dem Server 110 interagieren.
  • Die Client-Vorrichtung 130 ist konfiguriert, um mit dem Server 110 über das Netzwerk 150 zu kommunizieren, das eine beliebige Kombination von lokalen und/oder Weitverkehrsnetzwerke (engl. wide area networks) umfassen kann, wobei sowohl drahtgebundene als auch drahtlose Kommunikationssysteme verwendet werden. In einer Ausführungsform verwendet das Netzwerk 150 Standardkommunikationstechnologien und/oder -protokolle. Zum Beispiel beinhaltet das Netzwerk 150 Kommunikationsverbindungen mit Technologien wie Ethernet, 802.11, weltweite Interoperabilität für Mikrowellenzugriff (engl. worldwide interoperabilitiy for microwave access, WiMAX), 3G, 4G, Code Division Multiple Access (CDMA), digitale Teilnehmerleitung (engl. digital subscriber line, DSL), etc. Beispiele für Netzwerkprotokolle, die für die Kommunikation über das Netzwerk 150 verwendet werden, sind Multiprotocol Label Switching (MPLS), Transmission Control Protocol/Internet Protocol (TCP/IP), Hypertext Transport Protocol (HTTP), Simple Mail Transfer Protocol (SMTP) und File Transfer Protocol (FTP). Über das Netzwerk 150 ausgetauschte Daten können in jedem geeigneten Format dargestellt werden, wie beispielsweise Hypertext Markup Language (HTML) oder Extensible Markup Language (XML). In einigen Ausführungsformen können alle oder einige der Kommunikationsverbindungen des Netzwerks 150 mit einer oder mehreren geeigneten Techniken verschlüsselt werden.
  • Der Server 110 betreibt eine Anwendung 115 und einen Agenten 120. Die Anwendung 115 kann aus einer Vielzahl von Messaging-Anwendungen, mobilen Anwendungen oder Webanwendungen bestehen und kann eine Teilmenge von Operationen einer Client-Server-Anwendung darstellen. Die vom Server 110 betriebene Anwendung 115 beinhaltet alle serverseitigen Prozesse einer Client-Server-Anwendung, wie das Abrufen und Speichern von Datenbankinhalten, das Erzeugen von Benutzerschnittstellen für das Rendern auf der Client-Vorrichtung 130, das Ausführen von auf der Client-Vorrichtung 130 angeforderten Funktionen und das Kommunizieren von Inhalten an die Client-Vorrichtung 130 (z.B. über das Netzwerk 150). In einer Implementierung ist der Server 110 ein E-Mail-Server, der E-Mail-Nachrichten der Client-Vorrichtung 130 bereitstellt. In einer anderen Implementierung ist der Server 110 ein Webserver 110, der eine Webseite für eine Client-Vorrichtung 130 zur Anzeige für einen Benutzer bereitstellt. Obwohl ein einzelner Server 110 in 1 dargestellt ist, kann der Server 110 ein oder mehrere Rechenvorrichtungen umfassen, die die Funktionen der Anwendung 115 ausführen, und die Umgebung kann eine beliebige Anzahl von Servern 110 beinhalten, die eine beliebige Anzahl von Anwendungen 115 betreiben.
  • Der Agent 120 überwacht die Leistung der Anwendung 115, einschließlich der auf dem Server 110 laufenden Prozesse, die Reaktionszeit der Anwendung 115, den Verhaltenskontext der Benutzeraktivität auf einer Client-Vorrichtung 130 und/oder andere Informationen. Der Agent 120 ist ein Satz von Softwaremodulen, die vom Server 110 ausgeführt werden, der die Anwendung 115 überwacht, indem er Code in die Anwendung 115 injiziert.
  • Der Überwachungsserver 140 überwacht die Leistung des Anwendungsservers 110. Der Überwachungsserver 140 kann von einem Anwendungsüberwachungsdienstleister gehostet werden und die Leistung einer beliebigen Anzahl von Anwendungsservern überwachen. In einer Ausführungsform wird der Überwachungsserver 140 von New Relic, Inc. gehostet und führt NEW RELIC APM aus. In einer Ausführungsform ist der Überwachungsserver 140 konfiguriert, um auf einer Rechenvorrichtung zu arbeiten, die eine oder mehrere Verarbeitungsvorrichtungen beinhaltet, die speziell konfiguriert sind, um Anweisungen auszuführen, um die Funktionen des Überwachungsserver 140 durchzuführen. Die Verarbeitungsvorrichtungen sind konfiguriert, um Anweisungen auszuführen, die eine Reihe von grafischen Benutzerschnittstellen erzeugen, die es einem Benutzer ermöglichen, Regeln für das Parsen unstrukturierter und strukturierter Protokolldaten zu definieren und die Pars-Regeln auf mehrere Protokollzeilen anzuwenden, die in einer oder mehreren Protokolldateien enthalten sind.
  • Um den Server 110 zu überwachen, stellt der Überwachungsserver 140 dem Server 110 den Agenten 120 zur Verfügung und empfängt Daten vom Agenten 120. Die vom Agenten 120 gesammelten Daten können in einer Benutzerschnittstelle zur Anzeige an einen Administrator des Servers 110 dargestellt werden.
  • BENUTZERSCHNITTSTELLE FÜR EIN PROTOKOLLDATENPARSEN
  • 2 ist ein Blockdiagramm, das eine Benutzerschnittstelle 200 zum Definieren eines oder mehrerer Regelsätze zum Parsen von Protokolldateninformationen aus einer Anwendung 115, die auf einem Server 110 ausgeführt wird, gemäß einer Ausführungsform veranschaulicht. Ein Regelsatz ist eine Gruppe von einer oder mehreren Regeln, die auf eine Protokolldatei angewendet werden, um die Protokolldatei zu parsen. Ein Regelsatz kann beispielsweise mehrere Regeln beinhalten, um Zeilen zu parsen, die sich auf eine eingehende Anfrage beziehen, die vom Server 110 empfangen wird. Wie in 2 gezeigt, beinhaltet die Benutzerschnittstelle 200 einen Regelsatz-Definitionsabschnitt 205, einen Regelsatz-Auswahlabschnitt 210 und einen Protokollzeilen-Anzeigeabschnitt 215, der einen Teil einer Protokolldatei 205 anzeigt. In einer Ausführungsform wird die Benutzerschnittstelle 200 vom Überwachungsserver 140 erzeugt und zur Anzeige auf einer oder mehreren Client-Vorrichtungen 130 über das Netzwerk 150 bereitgestellt. Die Benutzerschnittstelle 200 beinhaltet einen Regelsatzdefinitionsabschnitt 205, der ein Namenseingabefeld 205A zum Empfangen eines Namens, der einen Regelsatz zum Parsen einer Protokolldatei spezifiziert, und eine Hinzufügen-Schaltfläche 205B zum Hinzufügen des Regelsatznamens zu einem Regelsatz-Auswahlabschnitt 210 beinhaltet. Die Regelsatzauswahl 210 enthält eine Liste von Regelsatznamen, die den Informationen entsprechen, die im Namenseingabefeld 205A empfangen wurden. Die Regelsatznamen können als Reaktion auf die Hinzufügen-Taste 205B hinzugefügt werden, die eine Auswahleingabe empfängt. So zeigt beispielsweise der Regelsatz-Auswahlabschnitt in 2 vier Regeln, die vier verschiedenen Regelsatznamen entsprechen - Regelsatz_A, Regelsatz_B, Regelsatz_C und Regelsatz_D, die im Namenseingabefeld 205 empfangen werden.
  • Der Protokollzeilenanzeigeabschnitt 215 beinhaltet einen Teil 220 einer Protokolldatei, die von einer oder mehreren Anwendungen, Betriebssystemen, Servern oder einer anderen Komponente des verteilten Netzwerksystems, die eine Protokolldatei erzeugen kann, erzeugt wird. Eine Protokolldatei kann eine Aufzeichnung von Aktionen enthalten, die an verschiedenen Komponenten innerhalb eines verteilten Netzwerksystems durchgeführt wurden. Beispiele für Aktionen sind Ereignisse wie Informationen über Zugriffsanfragen an den Server 110, Seiten, die durch eine Client-Vorrichtung betrachtet wurden, und Fehler, die bei der Verarbeitung der Anfrage aufgetreten sind. In einigen Fällen können Protokolldateien automatisch von einem Betriebssystem oder einer Anwendung, die auf dem Server 110 betrieben wird, erzeugt werden. Die automatisch erzeugten Protokolle können an einen bestimmten Ort in einem Speicher des Servers 110 geschrieben werden. Protokolldateien können ein bestimmtes Format haben, basierend auf der Anwendung oder dem Betriebssystem, die/das die jeweilige Protokolldatei erzeugt hat. In anderen Fällen kann ein Protokolldateiformat unstrukturierter oder Rohtext sein. Der Überwachungsserver 140 kann die Protokolle direkt vom angegebenen Speicherort oder indirekt über den Agenten 120 abrufen.
  • Der Teil 220 der in 2 dargestellten Protokolldatei beinhaltet mehrere Zeilen 225, die chronologisch angeordnet sind (d.h. von ältesten bis neuesten oder von neuesten bis ältesten). In einer Implementierung entspricht der Teil 220 der Protokolldatei, der in dem Protokollzeilenanzeigeabschnitt 215 angezeigt wird, einem Live-Tail einer Protokolldatei, die von einer Anwendung erzeugt wird, die einen Anwendungsserver betreibt. So kann beispielsweise der Agent 120 den Befehl tail-f/path/thefile.log ausführen, der bewirkt, dass die letzten zehn Zeilen einer in einer Speicherkomponente des Anwendungsservers 110 gespeicherten Protokolldatei im Stream-Abschnitt angezeigt werden und kontinuierlich, wenn neue Zeilen 225 zum Protokoll hinzugefügt werden, aktualisiert werden. In anderen Implementierungen kann der Teil 220 der Protokolldatei weniger als oder mehr als die in 2 dargestellte Anzahl von Zeilen beinhalten. Im Stream-Modus, bei dem die Protokolldatei von einer aktuell ausgeführten Anwendung erzeugt wird, wird die Anzeige des Live-Tail der Protokolldatei so lange aktualisiert, bis die Play/Pause-Taste 230 eine Anzeige einer Auswahl empfängt. Um die Aktualisierung der angezeigten Logdatei fortzusetzen, empfängt die Play/Pause-Taste 230 nach dem Pausieren des Live-Tail-Feed eine weitere Anzeige einer Auswahl.
  • Der Feed kann vom Benutzer pausiert werden, damit die Benutzerschnittstelle 200 eine Anzeige über eine Auswahl einer Zeile 225 empfängt, um eine Regel anzugeben, die in den angegebenen Regelsatz für das Parsen der Protokolldatei aufgenommen werden soll. Wenn der Feed pausiert ist, kann eine Anzeige der Auswahl einer Zeile 225 über den Protokollzeilenanzeigeabschnitt 215 empfangen werden, um eine Regel anzugeben, die in den Regelsatz aufgenommen werden soll. In einer Ausführungsform kann die Anzeige einer Auswahl einer Zeile 225 ein Klicken auf einen Teil einer ausgewählten Zeile 235, ein Führen eines Zeigers über einen Teil der ausgewählten Zeile 235 oder ein anderes Mittel zum Anzeigen einer Auswahl einer Zeile mittels des Protokollzeilenanzeigeabschnitts 215 beinhalten.
  • 3 ist ein Blockdiagramm, das eine Regelbenutzerschnittstelle 300 veranschaulicht, die eine Regel angibt, die gemäß einer Ausführungsform in den Regelsatz von 2 aufzunehmen ist. Die Benutzerschnittstelle 300 wird vom Überwachungsserver 140 erzeugt, der auf das Empfangen einer Anzeige einer Auswahl einer Zeile 225 aus dem Protokollzeilenanzeigeabschnitt 215 reagiert. Die Benutzerschnittstelle 300 zur Angabe eines Regelnamens, der der ausgewählten Zeile 235 entspricht, beinhaltet ein Auswahlfeld 305 zur Anzeige der ausgewählten Zeile 235 und ein Eingaberegelnamensfeld 310 zum Empfangen von Informationen über die ausgewählte Zeile 235. Informationen über die ausgewählte Zeile 235 können die Art des mit der Zeile 235 verbundenen Protokollereignisses beschreiben. Beispielhafte Arten von Protokollereignissen können Route, Steuerung, Antwort, etc. beinhalten. So kann beispielsweise die ausgewählte Zeile 235 den ersten Schritt einer eingehenden Anfrage an den Server 110 beschreiben, was einer Art „Route“ des Protokollereignisses entspricht. Als Reaktion auf das Empfangen einer Anzeige zur Auswahl der „next“-Taste 320 wird die Benutzerschnittstelle 300 durch die Suchbenutzerschnittstelle 400 ersetzt.
  • 4 ist ein Blockdiagramm, das eine Benutzerschnittstelle 400 zum Suchen nach Zeilen, die der ausgewählten Zeile in 3 ähnlich sind, gemäß einer Ausführungsform veranschaulicht. Die Benutzerschnittstelle 400 wird vom Überwachungsserver 140 erzeugt, der auf den Empfang von Informationen reagiert, die die ausgewählte Zeile 235 beschreiben. Die Benutzerschnittstelle 400 beinhaltet ein Auswahlfeld 405 zum Anzeigen der ausgewählten Zeile 235, ein Suchfeld 410 zum Empfangen von Informationen, die Nachrichten in der Protokolldatei beschreiben, die der ausgewählten Zeile 235 ähnlich sind, und einen Suchbestätigungsanzeigebereich 420 zum Anzeigen von Zeilen 430, die der ausgewählten Zeile 235 entsprechen.
  • In der in 4 dargestellten Ausführungsform empfängt das Suchfeld 410 zur Suche nach einer Zeile ähnlich der ausgewählten Zeile 235 Informationen, die als regulärer Ausdruck formatiert sind. Der reguläre Ausdruck kann eine Folge von Zeichen beinhalten, die ein Suchmuster definieren. Wie in 4 dargestellt, ruft beispielsweise der reguläre Ausdruck „Started \w+“ Zeilen aus der Protokolldatei ab, die der ausgewählten Zeile 235 ähnlich sind. Als Reaktion auf das Empfangen von Informationen im Suchfeld 410 filtert der Überwachungsserver 140 die Protokolldatei, zum identifizieren anderer Zeilen, die Merkmale aufweisen, die mit denen im Suchfeld 410 zum Parsen angegebenen Merkmalen übereinstimmen. Die gefilterten Ergebnisse 430 werden im Suchbestätigungsanzeigebereich 420 angezeigt, um visuell zu bestätigen, dass die vom Suchfeld 410 empfangenen Suchinformationen die in der Protokolldatei enthaltenen Zeilen identifizieren, die der ausgewählten Zeile 235 ähnlich sind. Als Reaktion auf das Empfangen einer Anzeige zur Auswahl der „next“-Taste 440 wird die Such-Benutzerschnittstelle 400 durch die Tokenisierungs-Benutzerschnittstelle 500 ersetzt.
  • 5 ist ein Blockdiagramm, das eine Tokenisierungs-Benutzerschnittstelle 500 zum Tokenisieren der ausgewählten Zeile in 3 gemäß einer Ausführungsform veranschaulicht. Die Tokenisierungs-Benutzerschnittstelle 500 ermöglicht es einem Benutzer, verschiedene Teile der ausgewählten Zeile 235 auszuwählen, die dann automatisch als eigenständige Attribute innerhalb der Tokenisierungs-Benutzerschnittstelle 500 dargestellt werden. Die Tokenisierungs-Benutzerschnittstelle 500 beinhaltet einen Regelnamen 505 (der in der Benutzerschnittstelle in 3 angegeben wurde), der die jeweilige Regel identifiziert, ein Auswahlfeld 510, einen Zeilenattribut-Tokenisierungsabschnitt 515 und einen Übereinstimmungszeilenanzeigebereich 570.
  • Das Auswahlfeld 510 zeigt die ausgewählte Zeile 235 an und stellt eine Schnittstelle bereit, um ein oder mehrere Attribute der ausgewählten Zeile 235 auszuwählen und jedes ausgewählte Attribut mit einem Namen zu versehen. In einer Ausführungsform kann ein Attribut der ausgewählten Zeile 235 ausgewählt werden, indem ein Zeiger, wie beispielsweise ein Cursor oder ein Maussymbol, über ein Attribut für mindestens einen bestimmten Zeitraum bewegt wird. In einer anderen Implementierung kann eine Auswahl angezeigt werden, indem ein Cursor, ein Symbol oder ein anderer visueller Zeiger über ein Attribut bewegt und eine Maus oder eine ähnliche Eingabevorrichtung angeklickt wird. In einer Ausführungsform kann der Überwachungsserver 140 ein lexikalisches Grammatikprogramm verwenden, das bei der Auswahl einer Zeile erzeugt wird, das die ausgewählte Zeile in Schlüssel/Wert-Komponenten aufteilt. Das Grammatikprogramm wird gegen jede in der Protokolldatei enthaltene Zeile ausgewertet und gibt die Zeile mit den Schlüssel/Wert-Komponenten aus. In einer weiteren Ausführungsform kann die Client-Vorrichtung 130 das Grammatikprogramm unabhängig oder in Verbindung mit dem Überwachungsserver 140 verwenden.
  • Als Reaktion auf das Empfangen einer Anzeige über eine Auswahl eines Attributs der ausgewählten Zeile 235 zeigt der Überwachungsserver 140 jedes ausgewählte Attribut neben einem Eingabegeld an, das zum Empfangen eines Namens für das Attribut im Attribut-Tokenisierungsabschnitt 515 eingereicht wurde. Der Attribut-Tokenisierungsabschnitt 515 beinhaltet eine oder mehrere Reihen, wobei jede Reihe ein ausgewähltes Attribut und ein Namensfeld zum Zuordnen eines Namens zu dem Attribut enthält. Wie in 5 dargestellt, beinhalten die ausgewählten Komponenten der Zeile 235 beispielsweise „GET“ 520, „/status/check“ 530, „10.1.0.12“ 540, „2015-10-20“ 535 und „11:13:21“ 540. Bei Auswahl des Attributs „GET“ wird dem Tokenisierungsabschnitt 515 das entsprechende Attribut „GET“ 520 sowie ein Eingabefeld 545 zum Empfangen eines Namens für das Attribut „GET“ 520 hinzugefügt. Der gleiche Prozess wird für jedes ausgewählte Attribut wiederholt, wobei jede Auswahl eine neue Reihe im Attribut-Tokenisierungsabschnitt 515 erzeugt. Jede neue Reihe enthält das ausgewählte Attribut und ein Eingabefeld zum Empfangen eines Attributnamens. Zeilen, die mit der ausgewählten Zeile 235 übereinstimmen, werden im Suchbestätigungsanzeigebereich 570 angezeigt, um visuell zu bestätigen, dass die Attribut-Extraktion auf ähnlichen Zeilen funktioniert, die in der analysierten Protokolldatei enthalten sind. In einer weiteren Ausführungsform kann die ausgewählte Zeile 235 strukturierte Daten beinhalten, in diesem Fall wählt die Tokenisierungs-Benutzerschnittstelle 500 automatisch Attribute aus und führt die Tokenisierung durch.
  • In einer Ausführungsform wird zur Verbesserung der Benutzerfreundlichkeit der Tokenisierungs-Benutzerschnittstelle 500 jedes ausgewählte Attribut mit einer eindeutigen visuellen Kennung kodiert. Beispielhafte visuelle Kennungen können Schriftfarbe, eine Hervorhebungsfarbe, die Text überlagert, oder eine andere Art von Indikator beinhalten, der jedes ausgewählte Attribut optisch voneinander unterscheidet. Auf die einzelnen Attribute in der ausgewählten Zeile 235, den Attributnamen, das Eingabefeld und die Attribute in den übereinstimmenden Zeilen im Auswahlsuchbestätigungsbereich 570 können eindeutige visuelle Kennungen platziert werden. Der oben genannte Prozess der Regeldefinition und Attribut-Tokenisierung kann für jede Regel, die in einem Regelsatz enthalten ist, wiederholt werden. So kann beispielsweise der Prozess für jeden Schritt eines Anfragelebenszyklus wiederholt werden, der Regeln für „Steuerung“, „Parameter“ und „Antwort“ enthält.
  • In einer Ausführungsform kann der vorgenannte Attribut-Tokenisierungsprozess auf historische Protokolldaten angewendet werden, als Reaktion auf ein Empfangen einer Anzeige über eine Auswahl des Auswahlfeldes „Diese historisch ausführen“ 575. Der Überwachungsserver 140 kann die Tokenisierungs-Benutzerschnittstelle 500 in Antwort auf das Empfangen einer Anzeige über eine Auswahl der Fertig-Taste 580 schließen.
  • Die tokenisierten Zeilen können von einer Protokollabfrageschnittstelle verwendet werden, um Abfragen der Protokolldaten basierend auf den ausgewählten Attributen durchzuführen. In einigen Situationen können die Daten jedoch über mehrere Zeilen verteilt sein. Wenn beispielsweise eine Protokollabfrage durchgeführt wird, um nach jemandem zu suchen, der sich aus mehreren Ländern anmeldet, indem die E-Mail-Adresse mit einer IP-Adresse (Internet Protocol) gekreuzt wird, werden Daten aus mehreren Zeilen verwendet. In einer solchen Situation ist die Fähigkeit eines Protokollierungssystems, Nachrichten aus mehreren Zeilen zu korrelieren, um ein bestimmtes Ereignis zu identifizieren, sehr vorteilhaft. Die Regelaggregations-Benutzerschnittstelle 600 stellt eine Schnittstelle bereit zum Korrelieren mehrerer Protokollregeln in ein eigenständiges Ereignis. In einer Ausführungsform erstellt der Überwachungsserver 140 ein JavaScript-Programm, das Streaming-Datenereignisse miteinander verknüpft und neue Ereignisse erzeugt, wenn die angegebene Reihenfolge von Regeln eintritt. So kann beispielsweise der Überwachungsserver 140 konfiguriert werden, um Regeln für einen Anfragelebenszyklus einer - Route, Steuerung, Parameter und Antwort - zu korrelieren und die von jeder Regel erzeugten Daten zu einem neuen Ereignis zu verbinden.
  • 6 ist ein Blockdiagramm, das eine Ereignisaggregations-Benutzerschnittstelle 600 gemäß einer Ausführungsform veranschaulicht. In der in 6 dargestellten Ausführungsform ermöglicht die Aggregations-Benutzerschnittstelle 600 einem Benutzer, aus einer Liste von vordefinierten Regeln auszuwählen und diese Regeln zu einem aggregierten Ereignis zu verknüpfen. Vordefinierte Regeln, wie in 5 erläutert, können durch den Inhalt oder ein beliebiges Attribut einer Protokollzeile definiert werden. So ermöglicht die Aggregations-Benutzerschnittstelle 600 die umfassende Suche nach einer oder mehreren Protokolldateien, indem sie einzigartige Kombinationen von Regeln erstellt, die durch verschiedene Kombinationen von Inhaltselementen und/oder Attributen, die in einer oder mehreren Protokollzeilen enthalten sind, miteinander verbunden sind.
  • In der in 6 gezeigten Ausführungsform beinhaltet die Regelaggregations-Benutzerschnittstelle 600 mehrere Spalten mit den Bezeichnungen „Stream“, „Programmnamen“, „Regeln“, „Aggregierte Ereignisse“ und „Ausgabe“. Die Spalte Streams 605 enthält ein Feld 630, das eine Anwendung angibt, die mit einer zu bewertenden Protokolldatei verknüpft ist. In einem Beispiel beinhalten die Spalten der Streams 605 ein Feld 630, das einen Authentifizierungsdienst einer Zugriffssteuerungsanwendungsoperation auf dem Anwendungsserver 110 angibt. Die Spalte Programmnamen 610 beinhalten ein Feld 635, das das Anwendungsformat angibt. In einem Beispiel kann das Anwendungsformat Ruby on Rails oder hierin als Rails bezeichnet werden. Die Spalte Regeln 615 enthält ein oder mehrere Felder 645, die eine oder mehrere Regeln auflisten. Das eine oder die mehreren Felder 645 geben eine Regel an, die den in der Regelbenutzerschnittstelle 300 angegebenen Regeln entspricht. Wie beispielsweise in 6 dargestellt, beinhalten das eine oder die mehreren Felder in der Spalte Regeln 615 ein erstes Feld 650, das die Routenregel angibt, ein zweites Feld 665, das die Steuerungsregel angibt, ein drittes Feld 670, das die Parameterregel angibt, und ein viertes Feld 675, das eine Antwortregel angibt. Jedes Regelfeld kann aus der Liste der in der Spalte Regeln 615 angegebenen Regelfelder ausgewählt und an eine Position in der Spalte aggregierte Ereignisse 620 gezogen werden, um eine aggregierte Regel zu erstellen. Wie beispielsweise in 6 gezeigt, kann das Routenregelfeld 650 aus der Spalte Regeln 615 ausgewählt und in die Spalte aggregierte Ereignisse 620 verschoben werden. Der Prozess wird für die übrigen Regeln, die dem Antwortlebenszyklus zugeordnet sind, wiederholt, indem das Steuerungsregelfeld 665, das Parameterregelfeld 670 und das Antwortregelfeld 675 in die Spalte 620 aggregierte Ereignisse verschoben werden. Nach dem Verschieben in die Spalte aggregierte Ereignisse 620 erscheint unterhalb des verschobenen Regelfeldes ein Verknüpfungsindikator 685, der es ermöglicht, es mit einem anderen verschobenen Regelfeld zu verknüpfen, das unmittelbar unter dem verschobenen Regelfeld positioniert ist. In dem in 6 dargestellten Beispiel bewirkt die Anordnung der in der Spalte 620 aggregierte Ereignisse aufgeführten Regelfelder, dass der Überwachungsserver 140 die Route, die Steuerung, die Parameter und die Antwortregeln miteinander korreliert, um ein eigenständiges Ereignis zu erzeugen. Anders ausgedrückt, wenn der Überwachungsserver 140 eine Routenregel sieht, gefolgt von einer Steuerungsregel, einer Parameterregel und einer Antwortregel, verbindet er alle von diesen Regeln erzeugten Daten in ein eigenständiges Ereignis. In einer Ausführungsform bewirkt die Anordnung der in der Spalte aggregierte Ereignisse 620 aufgeführten Regelfelder, dass die Client-Vorrichtung 130 die ausgewählten Regeln korreliert, um ein eigenständiges Ereignis zu erzeugen. In weiteren Ausführungsformen können die Client-Vorrichtung 130 und der Überwachungsserver 140 zusammenwirken, um die ausgewählten Regeln zu aggregieren und um ein eigenständiges Ereignis zu erzeugen.
  • In einer Ausführungsform können Verknüpfungen zwischen den Schritten in Reaktion auf das Empfangen einer Anzeige über eine Auswahl des Verknüpfungsindikators 685, der der jeweiligen Regel zugeordnet ist, weiter qualifiziert werden. Die Auswahl eines Verknüpfungsindikators 685 erzeugt ein Attributfeld 680A, ein Bedingungsfeld 680B und ein Ergebnisfeld 680C. Das Attributfeld 680A kann eine Dropdown-Auswahlliste von Attributen für die jeweilige Regel darstellen, die auf den Empfang einer Anzeige über eine Auswahl des Attributfelds 680A reagiert. Die in der Dropdown-Liste enthaltenen Attribute entsprechen den Attributen, die während des Tokenisierungsprozesses angegeben wurden, wie zuvor in Bezug auf 5 erläutert. Das Bedingungsfeld 680B stellt eine Dropdown-Auswahlliste mit Bedingungen dar, die dem im Attributfeld 680A ausgewählten Attribut zugeordnet sind. Wenn beispielsweise das Attribut „url“ im Attributfeld 680A für die Routenregel ausgewählt ist, wobei die Bedingungen, die in der Dropdown-Liste des Bedingungsfeldes 680B enthalten sind, „gleich“, „nicht gleich“, „enthält“, „nicht enthält“, „ist gesetzt“, „ist nicht gesetzt“ und „ist ein Attribut von“ beinhalten. Das Ergebnisfeld 680C kann eine Dropdown-Auswahlliste enthalten, ähnlich wie das Attributfeld 680A und das Bedingungsfeld 680B. Die im Ergebnisfeld 680C enthaltenen Ergebnisse hängen von der Auswahl im Attributfeld 680A und im Bedingungsfeld 680B ab. Wenn beispielsweise im Attributfeld 680A für die Routenregel das Attribut „url“ und für die Bedingung im Bedingungsfeld 680B „enthält“ ausgewählt ist, kann für das Ergebnisfeld 680C das Ergebnis „login“ ausgewählt werden.
  • Das resultierende Ereignis, das mit dem Erzeugen der aggregierten Regel verbunden ist, kann benannt werden, indem Informationen empfangen werden, die das aggregierte Ereignis in einem Namensereignisfeld 655 in der Ausgabespalte 625 beschreiben. Die Anordnung der aggregierten Regel kann über die Aggregationsereignis-Benutzerschnittstelle 600 gespeichert werden, die auf das Empfangen einer Auswahl der Speicher-Taste 690 reagiert.
  • 7A veranschaulicht ein Flussdiagramm, das einen Teil eines Verfahrens zum Angeben eines aggregierten Ereignisses gemäß einer Ausführungsform beschreibt. In einer Ausführungsform empfängt 702 der Überwachungsserver 140 eine Auswahl aus einer oder mehreren Protokolldateien zur Analyse. Die ausgewählten Protokolldateien können einer einzelnen Anwendung oder mehreren Anwendungen zugeordnet werden, die auf denselben oder verschiedenen Rechenvorrichtungen betrieben werden. In einer Ausführungsform ruft der Überwachungsserver 140 die ausgewählte Protokolldatei vom Anwendungsserver 110 unter Verwendung eines Agenten 120 ab, der auf dem Server 110 arbeitet. In einer weiteren Ausführungsform ruft der Überwachungsserver 140 die ausgewählte Protokolldatei durch Interaktion mit der Anwendung 115 über das Netzwerk 150 ab.
  • Der Überwachungsserver 140 erzeugt eine Regelsatz-Benutzerschnittstelle 200 für die ausgewählten zu analysierenden Protokolldateien. Die Regelsatz-Benutzerschnittstelle 200 beinhaltet eine Anzeige von Informationen, die die zu analysierende Protokolldatei beschreiben, sowie ein Eingabefeld zum Hinzufügen eines neuen Regelsatzes, der eine oder mehrere Regeln zum Parsen von Zeilen, die in der Protokolldatei enthalten sind, beinhaltet. Während der Analyse empfängt die Regelsatz-Benutzerschnittstelle 200 Informationen, die einen neuen Regelsatz (z.B. einen Namen) in der Eingabedatei zum Hinzufügen eines neuen Regelsatzes beschreiben, zusammen mit einer Anzeige einer Auswahl zum Hinzufügen des neuen Regelsatzes. Die Anzeige kann auch eine Anzeige zur Auswahl einer Plus-Taste neben dem Eingabefeld beinhalten. Als Reaktion auf das Empfangen der Anzeige einer Auswahl zum Hinzufügen des neuen Regelsatzes werden die Informationen, die den neuen Regelsatz beschreiben, in eine Regelsatzauswahlliste in der Regelsatz-Benutzerschnittstelle hinzugefügt.
  • Der Überwachungsserver 140 stellt 704 zur Anzeige auf einer Client-Vorrichtung 130 mehrere Zeilen aus einer zu analysierenden Protokolldatei in einem Zeilenanzeigeabschnitt der Regelsatz-Benutzerschnittstelle 200 dar. In einer Ausführungsform entsprechen die mehreren Zeilen einem Teil der Zeilen aus einer oder mehreren zu analysierenden Protokolldateien. Der Teil der Zeilen kann einem Stream (d.h. aktuell ausgeführten) aus einer oder mehreren Anwendungen 115 entsprechen oder Zeilen aus einem Protokoll einer zuvor ausgeführten Anwendung entsprechen.
  • In einer Ausführungsform wird eine Anzeige über eine Auswahl einer Zeile aus dem Zeilenanzeigeabschnitt empfangen 706. Eine exemplarische Anzeige einer Auswahl kann beispielsweise das Anklicken eines Teils einer Zeile, das Auswählen einer Zeile über eine Eingabe einer Tastatur oder ein anderes Auswahlverfahren unter Verwendung einer Eingabevorrichtung zur Interaktion mit der Regeldefinitions-Benutzerschnittstelle 200 beinhalten.
  • Als Reaktion auf das Empfangen der Auswahl der Zeile erzeugt der Überwachungsserver 140 ein Dialogfeld 300 zum Empfangen 708 von Informationen, die eine Regel beschreiben, die der ausgewählten Zeile 235 zugeordnet ist. Beispielinformationen beinhalten Informationen, die eine Art von Protokollereignis beschreiben, das der ausgewählten Zeile 235 entspricht, oder andere Informationen, die die ausgewählte Zeile 235 identifizieren. In einer Ausführungsform erzeugt der Überwachungsserver 140 eine Such-Benutzerschnittstelle 400, die es einem Benutzer ermöglicht, nach zusätzlichen Zeilen aus der zu analysierenden Protokolldatei zu suchen, die Attribute enthalten, die denen der ausgewählten Zeile 235 entsprechen. Die Such-Benutzerschnittstelle 400 beinhaltet ein Suchfeld zum Empfangen von Informationen über Attribute in der ausgewählten Zeile 235, die auch in anderen Zeilen in der zu analysierenden Protokolldatei enthalten sein können. Der Überwachungsserver 140 empfängt die Informationen (z.B. reguläre Ausdrücke) im Suchfeld über die Such-Benutzerschnittstelle 400 und filtert die zu analysierende Protokolldatei anhand der empfangenen Informationen, um übereinstimmende oder ähnliche Zeilen zu identifizieren. Zeilen, die als ähnlich oder übereinstimmend eingestuft wurden, werden in einem Suchbestätigungs-Anzeigebereich innerhalb der Such-Benutzerschnittstelle 400 angezeigt.
  • Der Überwachungsserver 140 stellt auf einer Client-Vorrichtung 130 eine Tokenisierungs-Benutzerschnittstelle 500 zum Tokenisieren der ausgewählten Zeile 235 bereit. Der Überwachungsserver 140 empfängt 710 eine Anzeige einer Auswahl eines oder mehrerer Attribute der ausgewählten Zeile 235, die zur Anzeige in einem Auswahlfeld der Tokenisierungs-Benutzerschnittstelle 500 dargestellt werden. Als Reaktion auf die Auswahl jedes Attributs der ausgewählten Zeile zeigt 712 der Überwachungsserver 140 das ausgewählte Attribut zusammen mit einem Eingabefeld für die Benennung des ausgewählten Attributs in einem Attribut-Tokenisierungsabschnitt an der Tokenisierungs-Benutzerschnittstelle 500 an. Der Überwachungsserver 140 zeigt Zeilen aus der zu analysierenden Protokolldatei an, die mit dem Protokoll der ausgewählten Zeile übereinstimmen, die im Suchbestätigungs-Anzeigebereich 420 angezeigt wird, um visuell zu bestätigen, dass die Attribut-Extraktion auf ähnlichen Zeilen 430 funktioniert.
  • In einer Ausführungsform, die auf die Auswahl jedes Attributs der ausgewählten Zeile 235 reagiert, wendet der Überwachungsserver 140 eine visuelle Kennung für jedes ausgewählte Attribut an, das im Auswahlfeld angezeigt wird. Der Überwachungsserver 140 wendet die visuelle Kennung auch auf den Attributnamen neben dem Eingabefeld im Tokenisierungsabschnitt und auf die entsprechenden Attribute von Zeilen an, die im Suchbestätigungs-Bereich angezeigt werden.
  • Der Überwachungsserver 140 empfängt 714 einen Attributnamen in dem Eingabefeld, das einem oder mehreren Attributen zugeordnet ist, die im Tokenisierungsabschnitt der Tokenisierungs-Benutzerschnittstelle 500 aufgeführt sind. In einer Ausführungsform bestimmt der Überwachungsserver 140, dass eine ausgewählte Zeile mit strukturierten Daten verknüpft ist und wählt automatisch Attribute aus, führt die Tokenisierung durch und zeigt das tokenisierte Ergebnis in der Tokenisierungs-Benutzerschnittstelle 500 an.
  • Zusätzliche Regeln, die in einen Regelsatz aufgenommen werden sollen, können durch Wiederholen der Schritte 706-714 definiert 715 werden, bis der Regelsatz vollständig ist. Dies wiederum erzeugt mehrere Regeln, die korreliert werden können, um Ereignisse zu identifizieren, die über mehrere Zeilen der einen oder mehreren analysierten Protokolldateien hinweg auftreten. 7B veranschaulicht ein Flussdiagramm, das einen verbleibenden Teil des Verfahrens von 7A zum Angeben eines aggregierten Ereignisses gemäß einer Ausführungsform beschreibt. Der Überwachungsserver 140 erhält eine Anzeige einer Auswahl 716 von mindestens zwei Regeln, einer ersten Regel und einer zweiten Regel, aus einer Liste von Regeln, die in einer Ereignisaggregations-Benutzerschnittstelle 600 enthalten sind. Als Reaktion auf die Auswahl der ersten Regel verschiebt der Überwachungsserver 140 ein Feld, das den Namen der ersten Regel zusammen mit einem Regelverknüpfungsindikator anzeigt, in eine aggregierte Ereignisspalte der Ereignisaggregations-Benutzerschnittstelle 600. Ebenso verschiebt der Überwachungsserver 140 als Reaktion auf die Auswahl der zweiten Regel ein Feld, das den Namen der zweiten Regel zusammen mit einem Regelverknüpfungsindikator anzeigt, unter das Feld, das der ersten Regel in der Spalte aggregierte Ereignisse entspricht. In einigen Ausführungsformen wird eine Anzeige einer Auswahl des Verknüpfungsindikators der ersten Regel empfangen, wodurch die Erzeugung eines Attributfeldes, eines Bedingungsfeldes und eines Ergebnisfeldes unterhalb des Namenseingabefeldes der ersten Regel angezeigt wird. Eines oder mehrere der Attributfelder, Bedingungsfelder und Ergebnisfelder können eine Dropdown-Liste mit Auswahlmöglichkeiten anzeigen, um näher zu anzugeben, wie die erste Regel mit der zweiten Regel verknüpft sein kann, wie zuvor unter Bezugnahme auf 6 beschrieben.
  • Der Überwachungsserver 140 verknüpft 718 die erste Regel mit der zweiten Regel gemäß den ausgewählten Bedingungen, was 720 eine aggregierte Regel erzeugt. Mit der aggregierten Regel kann der Überwachungsserver 140 verwendet werden, um eine Abfrage 722 der einen oder mehreren analysierten Protokolldateien auszuführen. Regeln, die gemäß den Schritten 706-714 definiert wurden (d.h. zuvor definierte Regeln), können auf verschiedene Protokolldateien angewendet werden, aus denen die Regeln ursprünglich definiert wurden. Zuvor definierte Regeln können einzeln oder als aggregierte Regel gemäß 7B angewendet werden.
  • Die vorstehende Beschreibung der Ausführungsformen der Offenbarung wurde zur Veranschaulichung vorgelegt; sie soll nicht abschließend sein oder die Offenbarung auf die genau offenbarten Formen beschränken. Der Fachmann kann sich darüber im Klaren sein, dass aufgrund der oben genannten Offenbarung viele Änderungen und Variationen möglich sind.
  • Einige Teile dieser Beschreibung beschreiben die Ausführungsformen der Offenbarung in Form von Algorithmen und symbolischen Darstellungen von Operationen auf Informationen. Diese algorithmischen Beschreibungen und Darstellungen werden vom Fachmann im Bereich Datenverarbeitung häufig verwendet, um die Substanz ihrer Arbeit effektiv an andere Fachkräfte weiterzugeben. Diese Operationen, obwohl funktional, rechnerisch oder logisch beschrieben, sind so zu verstehen als wenn sie durch Computerprogramme oder gleichwertige elektrische Schaltungen, Mikrocodes oder dergleichen ausgeführt werden. Darüber hinaus hat es sich auch gelegentlich bewährt, diese Betriebsarten als Module zu bezeichnen, ohne die Allgemeingültigkeit zu verlieren. Die beschriebenen Vorgänge und die dazugehörigen Module können in Software, Firmware, Hardware oder einer beliebigen Kombination davon ausgeführt sein.
  • Alle hierin beschriebenen Schritte, Operationen oder Prozesse können mit einem oder mehreren Hard- oder Softwaremodulen allein oder in Kombination mit anderen Vorrichtungen durchgeführt oder implementiert werden. In einer Ausführungsform ist ein Softwaremodul mit einem Computerprogrammprodukt implementiert, das ein computerlesbares Medium umfasst, das Computerprogrammcode enthält, der von einem Computerprozessor ausgeführt werden kann, um einen oder alle der beschriebenen Schritte, Operationen oder Prozesse auszuführen.
  • Ausführungsformen der Offenbarung können sich auch auf eine Vorrichtung zur Durchführung der hierin beschriebenen Vorgänge beziehen. Diese Vorrichtung kann speziell für die erforderlichen Zwecke konstruiert sein und/oder eine Mehrzweck-Rechenvorrichtung umfassen, die selektiv durch ein im Computer gespeichertes Computerprogramm aktiviert oder rekonfiguriert wird. Ein solches Computerprogramm kann auf einem greifbaren, computerlesbaren Speichermedium oder jeder Art von Medien, die zur Speicherung elektronischer Anweisungen geeignet sind, gespeichert und an einen Computersystembus gekoppelt werden. Darüber hinaus können alle in der Spezifikation genannten Computersysteme einen einzelnen Prozessor beinhalten oder Architekturen sein, die zur Erhöhung der Rechenleistung mehrere Prozessordesigns verwenden.
  • Ausführungsformen der Offenbarung können sich auch auf ein Computerdatensignal beziehen, das in einer Trägerwelle verkörpert ist, wobei das Computerdatensignal jede Ausführungsform eines Computerprogrammprodukts oder einer anderen hierin beschriebenen Datenkombination beinhaltet. Das Computerdatensignal ist ein Produkt, das in einem greifbaren Medium oder einer Trägerwelle präsentiert und in der greifbaren Trägerwelle moduliert oder anderweitig kodiert wird und nach jedem geeigneten Übertragungsverfahren übertragen wird.
  • Schließlich wurde die in der Spezifikation verwendete Sprache hauptsächlich aus Gründen der Lesbarkeit und der Einweisung ausgewählt, und sie wurde möglicherweise nicht ausgewählt, um den erfinderischen Gegenstand abzugrenzen oder zu umschreiben. Es ist daher beabsichtigt, den Umfang der Offenbarung nicht durch diese detaillierte Beschreibung, sondern durch alle Ansprüche, die sich auf eine darauf basierende Anwendung beziehen, zu begrenzen. Dementsprechend soll die Offenbarung der Ausführungsformen der Offenbarung den Umfang der Erfindung veranschaulichen, aber nicht einschränken.

Claims (20)

  1. Verfahren, umfassend: - Anzeigen einer Vielzahl von Zeilen einer oder mehrerer Protokolldateien in einer Benutzerschnittstelle zum Abfragen einer Protokolldatei; - Empfangen einer Auswahl von mindestens einer ersten und einer zweiten der Vielzahl von angezeigten Zeilen; - für jede der ausgewählten Zeilen: - Empfangen einer Eingabe, die einen Regelnamen angibt, der der ausgewählten Zeile zugeordnet ist, - Empfangen einer Auswahl aus einem oder mehreren Attributen der ausgewählten Zeile, - als Reaktion auf die Auswahl jedes der einen oder mehreren Attribute der ausgewählten Zeile: - Anzeigen eines Attributnamenseingabefeldes in der Benutzerschnittstelle, wobei das Attributnamenseingabefeld einem ausgewählten Attribut zugeordnet ist, und - Empfangen eines Attributnamens für jedes der angezeigten Attributnameneingabefelder; - Auswählen einer ersten Regel und einer zweiten Regel zum Parsen der Protokolldatei, wobei die erste Regel durch einen ersten Regelnamen, der der ersten ausgewählten Zeile zugeordnet ist, und die zweite Regel durch einen zweiten Regelnamen, der der zweiten ausgewählten Zeile zugeordnet ist, angezeigt wird; - Verknüpfen der ersten Regel und der zweiten Regel unter Verwendung der Benutzerschnittstelle durch Zuordnen von mindestens einem Attributnamen, der der ersten Regel zugeordnet ist, mit dem zweiten Regelnamen; - Erzeugen einer Gesamtregel aus der verknüpften ersten Regel und der zweiten Regel; und - Ausführen einer Abfrage der Protokolldatei unter Verwendung der aggregierten Regel.
  2. Verfahren nach Anspruch 1, wobei die Protokolldatei eine oder mehrere Zeilen aus verschiedenen Anwendungen enthält.
  3. Verfahren nach Anspruch 1, wobei die Protokolldatei aus einer Rails-Anwendung erzeugt wird.
  4. Verfahren nach Anspruch 1, wobei die Protokolldatei eine oder mehrere Zeilen enthält, die vor der Definition der Regeln erzeugt wurden.
  5. Verfahren nach Anspruch 1, ferner umfassend: - Anzeigen einer Suchschnittstelle; - Empfangen einer Eingabe in einem in der Suchschnittstelle enthaltenen Suchfeld, die einen oder mehrere reguläre Ausdrücke angibt, die in der ausgewählten Zeile enthalten sind; und - Anzeigen einer oder mehrerer Zeilen in der Suchschnittstelle, die den einen oder die mehreren angegebenen regulären Ausdrücke enthalten.
  6. Verfahren nach Anspruch 1, wobei die ausgewählte Zeile strukturierte Daten beinhaltet.
  7. Verfahren nach Anspruch 1, ferner umfassend ein Anzeigen eines Tokens in jedem Attributnameneingabefeld, das jedem Attribut der ausgewählten Zeile entspricht, die strukturierte Daten enthält.
  8. Verfahren nach Anspruch 1, ferner umfassend das Zuordnen eines anderen visuellen Indikators zu jedem ausgewählten Attribut.
  9. Verfahren nach Anspruch 8, ferner umfassend: - Anzeigen einer oder mehrerer Zeilen, die ein oder mehrere der ausgewählten Attribute enthalten; und - Zuordnen der verschiedenen visuellen Indikatoren zu jedem Attribut der angezeigten Zeile oder mehreren Zeilen, die das eine oder die mehreren ausgewählten Attribute beinhalten.
  10. Verfahren nach Anspruch 1, wobei das Verknüpfen der ersten Regel und der zweiten Regel umfasst: - Empfangen einer Auswahl aus einem oder mehreren Attributen der ersten Regel; und - Verknüpfen des ausgewählten Attributs der ersten Regel mit der zweiten Regel.
  11. Nichtflüchtiges, computerlesbares Speichermedium, das ausführbare Computerprogrammanweisungen speichert, wobei die Anweisungen, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen zum: - Anzeigen einer Vielzahl von Zeilen einer oder mehrerer Protokolldateien in einer Benutzerschnittstelle zum Abfragen einer Protokolldatei; - Empfangen einer Auswahl von mindestens einer ersten und einer zweiten der Vielzahl von angezeigten Zeilen; - für jede der ausgewählten Zeilen: - Empfangen einer Eingabe, die einen Regelnamen angibt, der der ausgewählten Zeile zugeordnet ist, - Empfangen einer Auswahl aus einem oder mehreren Attributen der ausgewählten Zeile, - als Reaktion auf die Auswahl jedes der einen oder mehreren Attribute der ausgewählten Zeile: - Anzeigen eines Attributnameneingabefelds in der Benutzerschnittstelle, wobei das Attributnameneingabefeld dem ausgewählten Attribut zugeordnet ist, und - Empfangen eines Attributnamens für jedes der angezeigten Attributnameneingabefelder; - Auswählen einer ersten Regel und einer zweiten Regel zum Parsen der Protokolldatei, wobei die erste Regel durch einen ersten Regelnamen, der der ersten ausgewählten Zeile zugeordnet ist, und die zweite Regel durch einen zweiten Regelnamen, der der zweiten ausgewählten Zeile zugeordnet ist, angezeigt wird; - Verknüpfen, unter Verwendung der Benutzerschnittstelle, der ersten Regel und der zweiten Regel, indem mindestens ein Attributname, der der ersten Regel zugeordnet ist, dem zweiten Regelnamen zugeordnet wird; - Erstellen einer aggregierten Regel aus der verknüpften ersten Regel und der zweiten Regel; und - Ausführen einer Abfrage der Protokolldatei unter Verwendung der aggregierten Regel.
  12. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 11, wobei die Protokolldatei eine oder mehrere Zeilen aus verschiedenen Anwendungen enthält.
  13. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 11, wobei die Protokolldatei aus einer Rails-Anwendung erzeugt wird.
  14. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 11, wobei die Protokolldatei eine oder mehrere Zeilen enthält, die vor der Definition der Regeln erzeugt wurden.
  15. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 11, ferner umfassend die Anweisungen, welche, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlassen zum: - Anzeigen einer Suchschnittstelle; - Empfangen einer Eingabe in einem in der Suchschnittstelle enthaltenen Suchfeld, die einen oder mehrere reguläre Ausdrücke angibt, die in der ausgewählten Zeile enthalten sind; und - Anzeigen einer oder mehrerer Zeilen in der Suchschnittstelle, die den einen oder die mehreren angegebenen regulären Ausdrücke enthalten.
  16. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 11, wobei die ausgewählte Zeile strukturierte Daten beinhaltet.
  17. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 11, ferner umfassend die Anweisungen, welche, wenn sie von dem Prozessor ausgeführt werden, bewirken, dass der Prozessor in jedem Attributnamen-Eingabefeld ein Token anzeigt, das jedem Attribut der ausgewählten Zeile entspricht, die strukturierte Daten beinhaltet.
  18. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 11, ferner umfassend die Anweisungen, welche, wenn sie von dem Prozessor ausgeführt werden, bewirken, dass der Prozessor jedem ausgewählten Attribut einen anderen visuellen Indikator zuordnet.
  19. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 18, ferner umfassend die Anweisungen, welche, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlassen zum: - Anzeigen einer oder mehrerer Zeilen, die eines oder mehrere der ausgewählten Attribute enthalten; und - Zuordnen der verschiedenen visuellen Indikatoren auf jedes Attribut der angezeigten einen oder mehreren Zeilen, die das eine oder die mehreren ausgewählten Attribute enthalten.
  20. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 11, wobei die Anweisungen, welche, wenn sie von dem Prozessor ausgeführt werden, bewirken, dass der Prozessor die erste Regel und die zweite Regel verknüpft, umfasst: - Empfangen einer Auswahl aus einem oder mehreren Attributen der ersten Regel; und - Verknüpfen des ausgewählten Attributs der ersten Regel mit der zweiten Regel.
DE112017003884.7T 2016-08-04 2017-07-28 Benutzerschnittstelle für Protokollabfragen Pending DE112017003884T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/228,908 2016-08-04
US15/228,908 US10311043B2 (en) 2016-08-04 2016-08-04 Log query user interface
PCT/IB2017/054621 WO2018025140A1 (en) 2016-08-04 2017-07-28 Log query user interface

Publications (1)

Publication Number Publication Date
DE112017003884T5 true DE112017003884T5 (de) 2019-04-18

Family

ID=61069416

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017003884.7T Pending DE112017003884T5 (de) 2016-08-04 2017-07-28 Benutzerschnittstelle für Protokollabfragen

Country Status (5)

Country Link
US (2) US10311043B2 (de)
JP (2) JP6735903B2 (de)
AU (1) AU2017307372B2 (de)
DE (1) DE112017003884T5 (de)
WO (1) WO2018025140A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11075951B1 (en) * 2018-06-29 2021-07-27 NortonLifeLock Inc. Query learning for automated incident investigation and remediation
US10769220B1 (en) * 2019-04-09 2020-09-08 Coupang Corp. Systems, apparatuses, and methods of processing and managing web traffic data
CN111488439B (zh) * 2020-03-18 2023-04-18 杭州迪普科技股份有限公司 保存和分析日志数据的系统和方法
US11327817B2 (en) 2020-09-17 2022-05-10 Cisco Technology, Inc. Automatic scope configuration of monitoring agents for tracking missing events at runtime
US11356345B2 (en) * 2020-10-14 2022-06-07 Gigasheet, Inc. Networking data analysis in a visual spreadsheet
US11921603B2 (en) * 2021-08-05 2024-03-05 Microsoft Technology Licensing, Llc Automated interoperational tracking in computing systems
US11775409B1 (en) * 2021-12-30 2023-10-03 Virtuozzo International Gmbh Systems and methods for detecting problematic performance on a software instance
CN115687257A (zh) * 2022-09-26 2023-02-03 郑州云智信安安全技术有限公司 一种日志审计系统规则查询条件的可视化编辑方法和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181759A (ja) 1998-12-15 2000-06-30 Hitachi Information Systems Ltd 時系列データ検索システムと検索方法およびそのプログラムを記録した記録媒体
US6836894B1 (en) * 1999-07-27 2004-12-28 International Business Machines Corporation Systems and methods for exploratory analysis of data for event management
JP2002207612A (ja) * 2001-01-12 2002-07-26 Hitachi Ltd ログ解析方法及びその実施装置並びにその処理プログラムを記録した記録媒体
US7343604B2 (en) 2003-07-25 2008-03-11 International Business Machines Corporation Methods and apparatus for creation of parsing rules
US8306967B2 (en) 2007-10-02 2012-11-06 Loglogic, Inc. Searching for associated events in log data
JP2010218333A (ja) * 2009-03-18 2010-09-30 Nec Corp 解析ルール生成装置、解析ルール生成方法、解析ルール生成プログラム及び記録媒体
US9384112B2 (en) * 2010-07-01 2016-07-05 Logrhythm, Inc. Log collection, structuring and processing
US8825664B2 (en) 2012-08-17 2014-09-02 Splunk Inc. Indexing preview
US9075718B2 (en) 2013-03-14 2015-07-07 Vmware, Inc. Dynamic field extraction of log data
US9779005B2 (en) 2014-06-24 2017-10-03 Ca, Inc. Analyzing log streams based on correlations between data structures of defined node types
JP6432266B2 (ja) * 2014-10-03 2018-12-05 富士通株式会社 グループ化方法、グループ化装置、およびグループ化プログラム

Also Published As

Publication number Publication date
WO2018025140A1 (en) 2018-02-08
JP2019530053A (ja) 2019-10-17
JP7032475B2 (ja) 2022-03-08
US10311043B2 (en) 2019-06-04
US11126614B2 (en) 2021-09-21
JP6735903B2 (ja) 2020-08-05
US20180039666A1 (en) 2018-02-08
JP2020129421A (ja) 2020-08-27
US20200057756A1 (en) 2020-02-20
AU2017307372B2 (en) 2020-07-02
AU2017307372A1 (en) 2019-03-14

Similar Documents

Publication Publication Date Title
DE112017003884T5 (de) Benutzerschnittstelle für Protokollabfragen
DE60114999T2 (de) Überwachung von und interaktion mit netzwerkdiensten
DE112016005292T5 (de) Automatischer Abweichungsdetektionsdienst auf heterogenen Protokollströmen
DE202017105691U1 (de) Intelligente Assistenz für wiederholte Aktionen
DE112012002362B4 (de) Automatisierte Empfehlungen für Cloud-Computing-Optionen
DE102012210425A1 (de) Verwendung einer dynamisch erzeugten inhaltsbezogenen Aktualitätsbewertung zum Bereitstellen von Empfehlungen zu aktuellen Inhalten
DE112017005412T5 (de) Systeme und verfahren zum überwachen und analysieren von computer- und netzwerkaktivitäten
DE112011102891T5 (de) Automatisches Anpassen einer Eingabekonfiguration
DE112016005265T5 (de) Verbesserte Push-Nachrichtenübermittlung
DE102013017085A1 (de) System für eine tiefe Verknüpfung und Suchmaschinenunterstützung für Webseiten, in die eine Drittanwendung und Komponenten integriert sind
DE112017000881T5 (de) Identifizieren der Grundursache von einem Problem, das während einer Ausführung einer Anwendung beobachtet wird
DE112013000987T5 (de) Erzeugen von Visualisierungen einer Anzeigegruppe von Tags, die Inhaltsinstanzen in Suchkriterien erfüllenden Objekten darstellen
DE112012005639T5 (de) Auslösen von Fensterbedingungen bei Anwendungen des Stream-Computing
DE212009000220U1 (de) Erzeugung von Suchanfrage-Vorschlägen
DE112016005374T5 (de) Identifizieren von Abfragemustern und zugeordneten aggregierten Statistikdaten unter Suchabfragen
DE112008004025T5 (de) Analysieren von Ereignissen
DE112013000393T5 (de) Zuordnung von Webanwendungsinhalten
DE112011103428T5 (de) Automatisierte Analyse zusammengesetzter Anwendungen
DE112015006537T5 (de) Gerätebasierte filterung von inhaltselementen, die mit mobilen anwendungen verbunden sind
DE112018006506T5 (de) Dynamisch modifizierende Systeme zum Erhöhen von Systemeffizienz
DE102013001196A1 (de) Verfahren zum Bereitstellen einer Benutzerschnittstelle, Computersystem und Computerprogrammprodukt
DE112013000751T5 (de) Datenverarbeitung, Datensammlung
DE112012004301T5 (de) Erzeugen einer vorhersagenden Datenstruktur
DE112017000039T5 (de) Erzeugen von Deeplinks für Anwendungen auf Basis von mehrstufigen Verweisdaten
WO2012017056A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016160000