Abfragesuche

Mit Oracle Log Analytics können Sie große Mengen an Logdaten in allen Unternehmensdatenbanken filtern und analysieren. Dazu bekommen Sie eine zentrale, einheitliche und anpassbare Anzeige, die einfach zu lesen und zu navigieren sind. Mit dem integrierten Suchfeature können Sie alle verfügbaren Logdaten filtern und bestimmte Logeinträge zurückgeben.

Mit Oracle Log Analytics Search können Sie einen Drilldown zu bestimmten Logeinträgen vornehmen, um gezielte Analysen und Monitoring im gesamten Unternehmen ermöglichen. Verwenden Sie die Oracle Log Analytics-Abfragesprache, um Suchabfragen zu formulieren. Dabei werden Logeinträge für das jeweilige Problem abgerufen, das Sie beheben möchten.

Mit der Abfragesprache für die Analyse der Logs können Sie angeben, welche Aktion mit den Suchergebnissen ausgeführt werden soll. Bei den Befehlen kann es sich um Suchbefehle oder statistische Befehle handeln. Suchbefehle sind die Befehle, mit denen die verfügbaren Logeinträge weiter gefiltert werden. Statistische Befehle führen statistische Vorgänge für die Suchergebnisse aus. Eine vollständige Liste der Befehle, deren Syntax und Beispiele für deren Verwendung finden Sie unter Befehlsreferenz für Abfragesprache.

Mit der Abfragesprache von Oracle Log Analytics können Sie:

  • Alle verfügbaren Logdaten filtern und explorieren

  • Ursachenanalysen ausführen

  • Statistische Analysen für ausgewählte Entitys ausführen

  • Berichte generieren

  • Suchabfragen zur späteren Verwendung speichern

  • Gespeicherte Suchvorgänge zum Erstellen von Dashboards abrufen

Sie können eine Suchabfrage erstellen, indem Sie entweder Elemente aus dem Bereich Feld per Drag-and-Drop in die entsprechenden Abschnitte in der Spalte Visualisieren ziehen oder die Abfrage direkt in das Feld Suchen eingeben. Weitere Informationen zum Formulieren der Abfragen mit der Benutzeroberfläche finden Sie unter Abfragen mit der Log Analytics-UI formulieren.

Informationen zum Schreiben von performanten Abfragen mit dem regex-Befehl finden Sie in der RE2J-Syntax unter Java Implementation of RE2.

Abfragehilfe-Assistent verwenden

Log Analytics bietet Ihnen jetzt aktive Hilfe, um schnell zu lernen, Abfragen zu schreiben, und bietet auch eine große Anzahl von Beispielabfragen für erweiterte Analysen.

Klicken Sie auf das Hilfesymbol Symbol "Abfragehilfe" neben der Abfrageleiste im Log Explorer, um den Assistenten für die Abfragehilfe zu öffnen. Innerhalb weniger Minuten können Sie das Format und die Syntax der Abfragen verstehen, die Sie erstellen können. Führen Sie die Beispielabfragen von der einfachen Suche bis zur erweiterten Analyse aus, und machen Sie sich mit der Abfragereferenz vertraut. Der Assistent gibt Ihnen einige Tipps und Tastenkombinationen, um Ihre Suche effizient zu gestalten. Sie können auch das Ergebnis der Ausführung einiger gängiger Befehle für ihre typischen Anwendungsfälle anzeigen.

Logs mit Schlüsselwörtern und Wortgruppen durchsuchen

Mit Befehlen können Sie Logdaten abrufen und diese Daten bearbeiten. Der erste (und implizite) Befehl in einer Abfrage ist der Suchbefehl. Eine Suche ist eine Reihe von Befehlen, die durch ein Pipe-Zeichen (|) getrennt sind. Die erste an ein Leerzeichen angehängte Zeichenfolge nach dem Pipe-Zeichen gibt den zu verwendenden Befehl an. Das Pipe-Zeichen gibt an, dass die Ergebnisse aus dem vorherigen Befehl als Eingabe für den nächsten Befehl verwendet werden sollen.

Beispiel: Um alle Datenbankfehlermeldungen zu suchen, geben Sie den folgenden logischen Ausdruck in der Suchleiste von Oracle Log Analytics ein:

Severity = 'error' AND 'Entity Type' = 'Database Instance'

Wenn Sie die Wörter in Anführungszeichen setzen und als Wortgruppe in die Abfragezeichenfolge aufnehmen (z.B. ‘Database Instance’), werden nur die Logs zurückgegeben, die die Wortgruppe ‘Database Instance’ enthalten. Außerdem muss jede Schlüsselwortsuche, bei der die Teilzeichenfolge als separate Direktive interpretiert werden könnte, in Anführungszeichen gesetzt sein. Beispiel: Um nach der Zeichenfolge and zu suchen, müssen Sie die Zeichenfolge in einfache Anführungszeichen (‘and’) setzen, um zu verhindern, dass das System die boolesche Bedeutung verwendet.

Weitere Beispiele und Details zur Verwendung der Abfragesprache zum Durchsuchen der Logs finden Sie unter Suchabfragen schreiben.

Letzte Suchvorgänge auflisten

Mit Oracle Log Analytics können Sie eine zuletzt verwendete Suche auswählen und ausführen. Wenn Sie auf das Feld "Suchen" klicken oder Text in das Feld "Suchen" eingeben, zeigt Oracle Log Analytics eine Liste der zuletzt verwendeten Suchvorgänge in der Liste an. Auf diese Weise können Sie schnell auf die zuletzt verwendeten Suchbefehle zugreifen. Sie können einen der aufgeführten Befehle auswählen und auf Ausführen klicken, um den ausgewählten Suchbefehl auszuführen.

Hinweis

Die Liste der zuletzt verwendeten Suchvorgänge basiert auf der jeweiligen Session. Wenn Sie sich also von Oracle Log Analytics abmelden und dann erneut anmelden, wird die Liste der vorherigen Session nicht angezeigt. Eine neue Liste der letzten Suchvorgänge wird für Ihre Session erstellt.

Feature für automatische Vorschläge verwenden

Wenn Sie eine Abfrage in das Feld Suchen eingeben, wird mit dem Feature "Automatische Vorschläge" von Oracle Log Analytics automatisch Begriffe vorgeschlagen, die Sie in der Abfrage verwenden können. Oracle Log Analytics zeigt eine Liste mit Vorschlägen basierend auf dem Text an, den Sie im Feld Suchen eingegeben haben. Beispiel: Wenn Sie den Namen eines Feldes oder eine Suchaktion eingegeben haben, werden die möglichen Werte nur für dieses Feld oder die Liste der verfügbaren Aktionen angezeigt.

Suchabfragen schreiben

Sie können Entitys, Schlüsselwörter, Wortgruppen oder Platzhalter, Vergleichsoperatoren, boolesche Ausdrücke, Funktionen und Zeit zum Erstellen einer Oracle Log Analytics-Suchabfrage angeben.

Um das Suchfeature in Oracle Log Analytics verwenden zu können, müssen Sie eine Suchabfrage formulieren und in das Feld Suchen eingeben.

Benutzeroberfläche von Log Analytics verwenden

Mit der Oracle Log Analytics-Benutzeroberfläche können Sie Suchabfragen formulieren.

Mit den folgenden Elementen der UI können Sie Suchabfragen formulieren:

  • Suchleiste: Hier wird die Suchabfrage angezeigt. Sie können den Text in diesem Feld direkt bearbeiten, um die Suchergebnisse weiter einzugrenzen.

    Die Suchleiste wird entsprechend der Anzahl der Zeilen, die der Abfrage hinzugefügt wurden, vergrößert oder verkleinert. Sie enthält maximal 21 Zeilen und mindestens 1 Zeile. Einige der verfügbaren benutzerdefinierten Shortcuts:

    • STRG + i: Jede Textzeile im Editor einrücken. Beachten Sie, dass mit der Option I in Großbuchstaben der Debugger geöffnet wird.
    • STRG + Eingabetaste: Im Editor angezeigte Abfrage ausführen
    • STRG + Leertaste: Liste der Autovervollständigungsoptionen basierend auf der Cursorposition anzeigen
    • STRG + Z: Letzte Bearbeitung rückgängig machen
    • STRG + Y: Letzte Bearbeitung wiederholen
    • STRG + D: Aktuelle Zeile löschen

    Hinweis: Verwenden Sie die SHIFT-Taste nur, wenn angegeben.

    Positionieren Sie den Cursor in den öffnenden oder schließenden Klammern, um das übereinstimmende Element hervorzuheben. Die Elemente ( ) und [ ] können hervorgehoben werden.

    Die Suchleiste unterstützt zwei verschiedene Themes: Farbe und Graustufen. Sie können die Themes dynamisch ändern, indem Sie die Option im Hilfe-Popup-Fenster ändern.

  • Feld: Der Bereich Feld ist in die folgenden Abschnitte unterteilt:

    • Mit den Attributen unter Gepinnt können Sie Logdaten auf folgender Basis filtern:

      • Logquellen, wie Datenbanklogs, Oracle WebLogic Server-Logs usw.

      • Logentitys (die eigentlichen Logdateinamen).

      • Labels. Hierbei handelt es sich um Tags, die Logeinträgen hinzugefügt werden, wenn Logeinträge bestimmten definierten Bedingungen entsprechen.

      • Uploadnamen von bei Bedarf hochgeladenen Logdaten.

      Standardmäßig sind die Entitys und Collection-Details im Bucket "Gepinnt" des Bereichs Felder zum Filtern verfügbar. Sie können je nach Verwendung zusätzliche Felder im Bucket "Gepinnt" pinnen. Nach dem Pinnen werden die Felder in den Bucket "Gepinnt" verschoben. Sie können jedes gepinnte Feld trennen und aus dem Bucket "Gepinnt" entfernen und es wieder in den Bucket "Interessant" oder "Sonstige" verschieben.

    • Basierend auf Ihrer Suche und Ihren Abfragen fügt Oracle Log Analytics automatisch Felder zum Bucket Interessant zur Schnellreferenz hinzu. Sie können ein Feld pinnen, das im Bucket "Interessant" verfügbar ist. Das gepinnte Feld wird dann in den Bucket "Gepinnt" verschoben.

    • Sie können jedes Feld im Bucket Sonstige pinnen und in den Bucket "Gepinnt" verschieben. Wenn Sie ein Feld aus dem Bucket "Sonstige" in einer Suche oder Abfrage verwenden, wird es in den Bucket "Interessant" verschoben.

      Die ausgewählten Optionen werden der Abfrage in der Suchleiste automatisch hinzugefügt.

  • Visualisieren: In diesem Bereich können Sie festlegen, wie die Suchergebnisse angezeigt werden sollen. Im Feld Gruppieren nach können Sie festlegen, nach welchen Metriken die Ergebnisse gruppiert werden sollen.

  • Speichern: Mit dieser Schaltfläche speichern Sie die Suchabfrage, die sich derzeit im Feld Suchen befindet, für die Ausführung an einem späteren Zeitpunkt.

  • Öffnen: Mit dieser Schaltfläche können Sie zuvor gespeicherte Suchabfragen anzeigen. Sie können diese Abfragen ausführen und aktuelle Ergebnisse abrufen oder mit diesen Abfragen Dashboards erstellen.

  • Neu: Mit dieser Schaltfläche können Sie eine neue Suchabfrage starten.

  • Exportieren: Mit dieser Schaltfläche können Sie das Ergebnis der aktuellen Suchabfrage in eine Datei im Format Comma-seperated Values (CSV) oder JavaScript Object Notation (JSON) exportieren.

  • Ausführen: Mit dieser Schaltfläche können Sie die Abfrage, die derzeit im Feld Suchen angezeigt wird, ausführen.

  • Zeitselektor: Geben Sie den Zeitraum mit dem Zeitselektor an.

  • Visualisierungsbereich: Die Ergebnisse der Suchabfrage werden in diesem Bereich angezeigt. Die gefilterten Informationen in diesem Bereich werden geladen, wenn die Abfrage im Feld Suchen ausgeführt wird. Durch Klicken auf einen Bereich im Diagramm im Visualisierungsbereich können Sie einen Drilldown in die Suchabfrage durchführen und diese aktualisieren.

Schlüsselwörter, Wortgruppen und Platzhalter verwenden

Zeichenfolgenabfragen können Schlüsselwörter und Wortgruppen enthalten. Ein Schlüsselwort ist ein einzelnes Wort (z.B. database), während eine Wortgruppe mehrere Wörter umfasst, die in einfachen Anführungszeichen (‘ ‘) oder doppelten Anführungszeichen (“ “) stehen (z.B. ‘database connection’). Wenn Sie in der Abfrage ein Schlüsselwort oder eine Wortgruppe angeben, werden alle Logeinträge mit dem angegebenen Schlüsselwort oder der angegebenen Wortgruppe zurückgegeben, nachdem die Abfrage ausgeführt wurde.

Die Oracle Log Analytics-Suchsprache unterstützt auch einen speziellen Musterabgleich. Sie können also Platzhalterzeichen wie Sternchen (*), Fragezeichen (?) und Prozentzeichen (%) für Schlüsselwörter verwenden.

In der folgenden Tabelle sind die unterstützten Platzhalterzeichen aufgeführt. Außerdem finden Sie eine kurze Beschreibung zu den einzelnen Zeichen.

Platzhalterzeichen Beschreibung

?

Verwenden Sie dieses Zeichen, um genau ein Zeichen der Möglichkeiten mit dem Schlüsselwort zu vergleichen. Beispiel: Wenn Sie host? eingeben, wird das Schlüsselwort host1 als Übereinstimmung betrachtet, host.foo.bar hingegen nicht.

* oder %

Verwenden Sie eines dieser Zeichen, um 0 oder mehr Zeichen der Möglichkeiten mit dem Schlüsselwort zu vergleichen. Beispiel: Wenn Sie host* oder host% eingeben, werden host1 und host.foo.bar als Übereinstimmung mit dem Schlüsselwort betrachtet. Wenn Sie %host% eingeben, werden ahostb und myhost als Übereinstimmung mit dem Schlüsselwort betrachtet.

Sie können mehrere Schlüsselwörter angeben. Beispiel: database und connection. Logs mit den Wörtern database und connection (aber nicht unbedingt beide zusammen) werden zurückgegeben. Diese Wörter müssen jedoch nicht notwendigerweise nacheinander vorkommen. Wenn Sie die Wörter jedoch in Anführungszeichen setzen und als Wortgruppe in die Abfragezeichenfolge aufnehmen (z.B. ‘database connection’), werden nur die Logs zurückgegeben, die die Wortgruppe ‘database connection’ enthalten. Informationen zur Verwendung mehrerer Schlüsselwörter finden Sie unter Boolesche Ausdrücke verwenden.

Beachten Sie Folgendes, wenn Sie ein Schlüsselwort oder eine Wortgruppe angeben:

  • Bei Schlüsselwörtern und Wortgruppen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

  • Schlüsselwörter, die nicht in Anführungszeichen gesetzt sind, dürfen nur alphanumerische Zeichen, Unterstriche (_) und Platzhalterzeichen (*, % und ?) enthalten.

  • Jede Schlüsselwortsuche, bei der die Teilzeichenfolge als separate Direktive interpretiert werden könnte, muss in Anführungszeichen gesetzt sein. Beispiel: Um nach der Zeichenfolge and zu suchen, müssen Sie diese in einfache Anführungszeichen (‘and’) setzen, um zu verhindern, dass das System die boolesche Bedeutung verwendet.

Hinweis

Um Platzhalter mit dem Feld message zu verwenden, müssen Sie auch LIKE oder LIKE IN verwenden. Im Folgenden finden Sie Beispiele für die Verwendung von Platzhaltern mit message.
ORA-* AND message LIKE 'connection* error*'
ORA-* AND message LIKE IN ('tablesp*','connection* error*')

Vergleichsoperatoren verwenden

Vergleichsoperatoren sind Bedingungen, die Sie zum Aufbauen einer Beziehung zwischen einem Feld und seinem Wert angeben. Felder ohne Werte werden als Null betrachtet.

In der folgenden Tabelle sind die unterstützten Vergleichsoperatoren aufgeführt. Außerdem finden Sie eine kurze Beschreibung der einzelnen Operatoren.

Vergleichsoperator Beschreibung
< Wenn Sie diesen Operator in der Abfrage verwenden, werden alle Logeinträge zurückgegeben, deren Wert für das entsprechende Feld kleiner als der angegebene Wert ist.
<= Wenn Sie diesen Operator in der Abfrage verwenden, werden alle Logeinträge zurückgegeben, deren Wert für das entsprechende Feld kleiner oder gleich dem angegebenen Wert ist.
> Wenn Sie diesen Operator in der Abfrage verwenden, werden alle Logeinträge zurückgegeben, deren Wert für das entsprechende Feld größer als der angegebene Wert ist.
>= Wenn Sie diesen Operator in der Abfrage verwenden, werden alle Logeinträge zurückgegeben, deren Wert für das entsprechende Feld größer oder gleich dem angegebenen Wert ist.
= Wenn Sie diesen Operator in der Abfrage angeben, werden alle Logeinträge zurückgegeben, deren Wert für das entsprechende Feld gleich dem angegebenen Wert ist.
!= Wenn Sie diesen Operator in der Abfrage angeben, werden alle Logeinträge zurückgegeben, deren Wert für das entsprechende Feld ungleich dem angegebenen Wert ist.

Mit diesen Operatoren können Sie Logs mit Feldern mit bestimmten Werten suchen. Beispiel: Geben Sie Severity=’ERROR’ an, um die verfügbaren Logs zu durchsuchen, bei denen der Wert des Feldes Severity ERROR lautet. Ebenso gibt Severity!=NULL alle Logs zurück, bei denen der Wert des Feldes Severity nicht Null ist (d.h. bei denen ein Schweregrad angegeben wurde).

Hinweis

Der Wert rechts neben dem Vergleichsoperator muss in Anführungszeichen angegeben werden, wenn der Wert nicht numerisch oder NULL ist.

Boolesche Ausdrücke verwenden

Das Oracle Log Analytics Search-Feature bietet die Funktionen LIKE und REGEX gemäß den Standardkonventionen. Boolesche Ausdrücke können den Wert true oder false aufweisen.

In der folgenden Tabelle sind die unterstützten booleschen Ausdrücke sowie eine kurze Beschreibung der einzelnen Ausdrücke aufgeführt.

Boolescher Ausdruck Beschreibung
AND Verwenden Sie diesen Ausdruck, um nur die Logs anzuzeigen, die beide angegebenen Parameter enthalten.
NOT IN oder IN Verwenden Sie diesen Ausdruck, um Daten zu suchen, die sich in einer bestimmten Teilmenge der verfügbaren Daten befinden. Beispiel: ‘Entity Type’ IN (‘Database Instance’,‘Automatic Storage Management’,’Listener’,’Cluster’) berücksichtigt zunächst nur die Logs, die ‘Database Instance’, ‘Automatic Storage’, Listener oder Cluster enthalten, und identifiziert dann die Logs, die ‘Entity Type’ enthalten. Wenn Sie jedoch NOT IN verwenden, werden Logeinträge mit dem angegebenen Schlüsselwort oder der angegebenen Wortgruppe ohne die angegebenen Einträge zurückgegeben. Beispiel: ‘Entity Type’ NOT IN (‘Database Instance’,’Automatic Storage Management’,’Listener’,’Cluster’) filtert zuerst die Logeinträge mit ‘Database Instance’, ‘Automatic Storage Management’, Listener und Cluster heraus und gibt dann die Logeinträge zurück, bei denen der Wert von ‘Target Type’ keiner der angegebenen Werte ist.

Das reservierte Wort NULL wird von diesem booleschen Operator unterstützt.

NOT LIKE oder LIKE Verwenden Sie diesen Ausdruck, um Daten zu suchen, die entweder mit dem angegebenen Zeichenmuster übereinstimmen oder diesem nicht entsprechen. Das Zeichenmuster ist eine Zeichenfolge, die Platzhalterzeichen enthalten kann.
NOT LIKE IN oder LIKE IN Ähnlich wie bei [NOT] IN können Sie mit diesem Ausdruck mehrere LIKE-Klauseln zusammen in einer Kurzform ausdrücken.
OR Hiermit können Sie die Logs anzeigen, die einen der angegebenen Parameter enthalten.

Die Oracle Log Analytics Search-Sprache unterstützt die Verschachteln von booleschen Ausdrücken in anderen boolesche Ausdrücke. Beispielabfrage:

fatal ('order' OR host LIKE '*.oracle.com')

Wenn Sie diese Abfrage ausführen, werden alle Logs zurückgegeben, die fatal enthalten und entweder das Schlüsselwort order enthalten oder von einem Host stammen, dessen Name mit .oracle.com endet.

Abfragen mit der Log Analytics-UI formulieren

Sie können Suchabfragen mit der Benutzeroberfläche von Oracle Log Analytics formulieren.

Standardmäßig wird die Abfrage * | stats count by ‘log source’ im Feld Suchen angegeben.

Um Daten für bestimmte Entitys anzuzeigen, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken auf Log Analytics unter Log Explorer.

  2. Wählen Sie im Bereich "Felder" unter der Überschrift Entitys die Option Entity oder Entitytyp aus, je nachdem, wie Sie die Entitys anzeigen möchten. Dadurch werden die registrierten Datenbanken basierend auf Ihrer Auswahl gruppiert. Beispiel: Wenn Sie Entitytyp auswählen, werden die ausgewählten Entitys nach ihren Typen gruppiert.

  3. Wählen Sie die Entity oder den Entitytyp aus, für die bzw. den Sie die Daten anzeigen möchten.

  4. Klicken Sie auf Weiterleiten.

    Die Schaltfläche Löschen wird neben der ausgewählten Entity angezeigt, und die Daten werden im Visualisierungsbereich dargestellt.

Um Daten für ein bestimmtes Feld anzuzeigen, führen Sie die folgenden Schritte aus:

  1. Wählen Sie den Feldtyp im Bereich Felder im Bucket Gepinnt, Interessant oder Sonstige aus.

  2. Wählen Sie Label, Logentity, Logquelle, Eigentümer oder Uploadname für die Anzeige von Daten aus. Sie können mehrere Labels, Logentitys, Logquellen, Eigentümer oder Uploadnamen auswählen.

  3. Klicken Sie auf Weiterleiten.

    Daten für das Feld werden im Visualisierungsbereich geladen.

Geben Sie den Zeitraum in der Abfrage an

In der Regel ist der Zeitbereich, den Sie im Log Explorer auswählen, nicht in der Abfragezeichenfolge enthalten. Sie können den Zeitraum in Ihrer Abfrage mit dem Modifikator absolute Zeit oder relative Zeit im Befehl search angeben.

Hinweis

Bei einer gespeicherten Suche wird der im Log Explorer beim Erstellen der gespeicherten Suche ausgewählte Zeitraum als eine der Komponenten der gespeicherten Suche gespeichert. Wenn Sie die gespeicherte Suche verwenden, können Sie die Zeit mit dem Zeitbereichsselektor im Log Explorer bearbeiten.

Wenn der Zeitraum hingegen in einer Abfrage angegeben wird, wird der im Log Explorer ausgewählte Zeitraum ignoriert. Der in der Abfrage enthaltene Zeitraum wird für die Loganalyse verwendet. Wenn Sie diese Abfrage als gespeicherte Suche speichern, wird der in der Abfrage angegebene Zeitraum für Aufgaben der gespeicherten Suche berücksichtigt und nicht die im Log Explorer angegebene Zeit.

Beispiele, in denen ein Zeitraum in der Abfrage angegeben werden kann:

  • Alle in den letzten 24 Stunden erkannten ORA-600-Fehlerlogs zurückgeben:

    Message like 'ORA-600%' and time > dateRelative(24h)
  • Gibt die Anzahl der Logs für das Hostziel myHost in den letzten 90 Tagen zurück:

    'Host Name (Server)' = myHost and Time > dateRelative(90day) | stats count as 'Num Host Logs'

Zeitbasierte Funktionen, die mit dem Befehl search verwendet werden können

Die folgenden zeitbasierten Funktionen können nur mit dem Befehl search verwendet werden:

  • toDate: Dies ist die absolute Zeit, z.B. 2014-07-15T16:24:51.000Z oder '2014-07-12', 'yyyy-MM-dd'.

    Syntax für toDate: toDate(<time>).

  • dateRelative: Erstellt ein Datum relativ zum aktuellen Datum. Beispiel: 12h oder 2d, day.

    Syntax für dateRelative: dateRelative(<timespan>, <rounding interval>), wobei die Rundung auf der UTC-Zeit basiert.

  • dateadd: Fügt dem angegebenen Datum Zeiteinheiten hinzu. Beispiel: Fügen Sie Day, 2 zu toDate('2024-05-12', 'yyyy-MM-dd') hinzu.

    Syntax für dateadd: dateadd(<date>, <unit>, <amount>).

  • dateset: Ändert ein Datum um die Zeiteinheiten. Beispiel: toDate('2015-08-12', 'yyyy-MM-dd') wurde mit year, 2014, month, 7 geändert.

    Syntax für dateset: dateset(<date>, <unit>, <value> [, <unit>,<value>]).

  • now: Aktuelles Datum und aktuelle Uhrzeit.

    Syntax für now: now().

Die Zeitkriterien können mit den Vergleichsoperatoren =, !=, <, <=, >, >= und dem logischen Operator and ausgedrückt werden.

Unterstützte Zeiteinheiten

  • All Time

    Äquivalentes JSON-Beispiel: "timeFilter": { "type" : "relative", "timeUnit" : "allTime" }

  • Zweite: s, sek, sek., Sekunde, Sekunden

  • Minute: m, min, min, min, minute, minutes

    Beispiel: Last 60 minutes

    Äquivalentes JSON-Beispiel: "timeFilter": { "type" : "relative", "duration" : "60", "timeUnit" : "minutes" }

  • Stunde: Std., Std., Std., Stunde, Stunden

  • Tag: d, Tag, Tage

  • Woche: w, Woche, Wochen

  • Monat: Mon, Monat, Monate

  • Jahr: Jahr, Jahr, Jahre

Ein Beispiel für das absolute Datum im JSON-Format ist "timeFilter": { "type" : "absolute", "startTime" : "2015-04-26T08:00:00.000Z", "endTime" : "2015-04-27T08:00:00.000Z" }.

Beispiele für Zeiträume in Abfragen

Die folgende Abfrage sucht nach allen Daten, die zwischen 2 absoluten Datumsangaben liegen, die im ISO-Standardformat angegeben sind:

time between '2014-07-15T16:24:51.000Z' and '2014-07-17T18:14:16.000Z'

Siehe ISO 8601: DATE AND TIME FORMAT.

Die folgende Abfrage sucht nach allen Daten, die auf 2 absoluten Datumsangaben basieren, die nicht dem ISO-Standardformat entsprechen:

time between toDate('2014-07-12', 'yyyy-MM-dd') and toDate('2014-07-15', 'yyyy-MM-dd')

Die folgende Abfrage sucht nach allen außer den letzten 12 Stunden (* auf der linken Seite des between-Ausdrucks steht für neues Datum(0), * auf der rechten Seite ist jetzt):

time between * AND dateRelative(12h)

Die folgende Abfrage sucht nach allem in den letzten 12 Stunden:

time > dateRelative(12h)

Die folgende Abfrage sucht nach allen in den letzten 30 Minuten, gerundet auf den Anfang der Stunde:

time > dateRelative(30min, hour)

Die folgende Abfrage sucht nach Datensätzen, die vor dem 12. Juli 2014 datiert sind:

time < dateAdd(toDate('2014-07-22', 'yyyy-MM-dd'), day, -10)

Die folgende Abfrage sucht nach Datensätzen, die nach dem 10. Juni 2010 datiert sind:

time > dateSet(toDate('2015-08-10', 'yyyy-MM-dd'), year, 2010, month, 6)

Mit der folgenden Abfrage werden Datensätze durchsucht, deren letztes Anmeldedatum vor der aktuellen Uhrzeit liegt:

'Upload Name' = idcs_dev8_dormant_upload and 'Last Login Date' < now()

Die folgende Abfrage durchsucht die Daten der letzten 24 Stunden:

time between daterelative(1d) and now()

Die folgende Abfrage sucht zwischen einem absoluten Zeitstempel und jetzt:

time between '2015-06-15T00:00:00.000Z' and now()

Unterabfragen schreiben

Mit Unterabfragen kann die untergeordnete Abfrage einen dynamischen Filter für ihre übergeordneten Abfragen bereitstellen. Unterabfragen werden zuerst ausgewertet, und das Ergebnis wird dann in der übergeordneten Abfrage verwendet.

  • Sie können Unterabfragen untereinander verschachteln und eine bestimmte Abfrage mit mehreren Unterabfragen auf derselben Ebene erstellen.
  • Unterabfragen erben standardmäßig den globalen Zeitraum. Sie können diesen jedoch bei Bedarf mit der Syntax time between T1 and T2 überschreiben.
  • Unterabfragen geben nur die ersten 2000 Übereinstimmungen als Eingabe an das übergeordnete Element zurück. Andere Ergebnisse werden abgeschnitten.
  • Der maximale Timeout für die Ausführung beträgt 30 Sekunden.
  • Alle von einer Unterabfrage zurückgegebenen Felder müssen dieselben Namen wie die Felder in der übergeordneten Abfrage aufweisen. Andernfalls wird ein Fehler ausgegeben.
  • Unterabfragen können nur innerhalb eines Suchbefehls verwendet werden.
  • Sie können in einer Unterabfrage alle Befehle außer cluster, clustersplit, clustercompare, fieldsummary, delete, classify, highlight und highlightrows verwenden.

Beispiele:

  • Traffic aus der IP-Sperrliste im Zeitablauf darstellen:
    [searchlookup table=ip_blacklist | distinct ip | rename ip as 'host address'] | timestats count
  • Die am häufigsten erworbenen Produkte für die Top-Benutzer einer E-Commerce-Site auflisten:
    'Log Source'='WLS Access Logs' status=200 action=purchase ['Log Source'='WLS Access Logs' status=200 action=purchase | stats count by 'Host (Client Address)' | top limit=1 'Host(Client Address)' | fields -*, 'Host (Client Address)'] | lookup table=products select 'product name' using productid | stats count, distinctcount(productId), unique('product name') by 'Host (Client Address)'
  • Top 4-BS-Prozess-IDs mit der höchsten Summe suchen:
    [ *|stats sum('OS Process ID') as OSprocessidSum by 'OS Process ID' | top 4 OSprocessidSum | fields -OSprocessidSum ] | stats count by 'OS Process ID', 'Log Source', 'Host Name(Server)'
  • Alle Logs aus dem Ziel mit den schwerwiegendsten Schweregraden anzeigen:
    * and [ Severity = fatal | stats count by Target | top limit = 1 Count | fields -Count]

Suchfunktionen

Sie können die folgenden Funktionen in Suchabfragen verwenden:

Funktion Beschreibung Beispiel

md5(string)

Sucht nach dem codierten md5-Wert

md5("hash my input")

sha1(string)

Sucht nach dem codierten sha1-Wert

sha1("hash my input")

sha256(string)

Sucht nach dem codierten sha256-Wert

sha256("hash my input")

sha512(string)

Sucht nach dem codierten sha512-Wert

sha512("hash my input")

encode64(string)

Sucht nach dem codierten Base64-Wert

encode64("my input")

decode64(string)

Sucht nach dem entschlüsselten Wert Base64

decode64("encoded input")

anyOf(condition1, condition2, ..., conditionN)

Hinweis: Dies entspricht (condition1 ODER condition2 ODER ... conditionN)

Hinweis: Dies kann auch in eval/where verwendet werden

anyof(ERROR, WARNING, FATAL) - Nach einem dieser Wörter suchen

anyof(Severity = ERROR, ERROR)

allOf(condition1, condition2, ..., conditionN)

Hinweis: Dies entspricht (condition1 UND condition2 UND ... conditionN)

Hinweis: Dies kann auch in eval/where verwendet werden

allof(ERROR, WARNING, FATAL) - Alle drei Wörter suchen

allof(Severity = ERROR, ERROR)

anyFields(wildCardExpression) = value

anyFields(wildCardExpression) != value

Hinweis: Dies ist äquivalent von (field1 = Wert ODER field2 = Wert ODER ...)

Hinweis: Dies kann auch in eval/where verwendet werden

anyFields('Project*) != null

Übersetzt in ('Projekt-ID' != null oder 'Projektname' != null oder 'Projektbeschreibung' != null)

allFields(wildCardExpression) = value

allFields(wildCardExpression) != value

Hinweis: Dies ist äquivalent von (field1 = Wert UND field2 = Wert ODER ...)

Hinweis: Dies kann auch in eval/where verwendet werden

allFields('Project*) != null

Übersetzt in ('Projekt-ID' != Null und 'Projektname' != Null und 'Projektbeschreibung' != Null)

Weitere Beispiele für anyof() und allof():

  • Stimmt mit Logs überein, die eines der folgenden Wörter enthalten: adm, logoff oder user:

    anyof(adm, logoff, user)
  • Stimmt mit Logs überein, die alle folgenden Wörter enthalten: adm, logoff oder user:

    allof(adm, logoff, user)
  • Stimmt mit Logs überein, die KEINEN der Wörter oracle oder active aufweisen und den Wert ungleich Null für das Feld Schweregrad aufweisen.

    severity != null not anyof(oracle, active)
  • Stimmt mit Logs überein, die NICHT beide Wörter oracle oder active enthalten und einen Wert ungleich Null für das Feld Schweregrad aufweisen.

    severity != null not allof(oracle, active)
  • Gibt die Schweregradwerte zurück, die entweder mit d beginnen oder mit f beginnen:

    * | distinct Severity | where anyof(substr(severity, 0, 1) = d, substr(severity, 0, 1) = f)
  • Gibt die Schweregradwerte zurück, die mit f beginnen und not fatal lauten:

    * | distinct Severity | where allof(severity != fatal, substr(severity, 0, 1) = f)

Weitere Beispiele für allfields() amd anyfields():

  • Gibt Logs zurück, bei denen alle Felder, die mit der Zeichenfolge tar beginnen (Beispiel: Ziel, Ziel-GUID, Zieltyp), nicht null sind:

    allfields(tar*) != null
  • allfields ist die Standardfunktion, und die obige Abfrage kann wie folgt kurz geschrieben werden:

    'tar*' != null
  • Gibt Logs zurück, bei denen eines der Felder, die mit tar beginnen, Null ist:

    
    anyFields(tar*) = null
  • Gleicht Logs mit allen numerischen Feldern ab, die mit length enden (Beispiel: Paketlänge, Länge, UDP-Paketlänge), wobei der Wert 2 lautet:

    allFields(*length) = 2
  • Gleicht Logs mit einem der numerischen Felder ab, die mit length mit dem Wert 2 enden:

    anyFields(*length) = 2