Formatieren Sie Ihre Abfragezeichenfolge mit derselben Abfragesprache wie in XDR Data Explorer.
Einschränkungen der Filterabfrage
Obwohl benutzerdefinierte Filterabfragen dieselbe Abfragesprache wie Abfragen verwenden,
haben benutzerdefinierte Filterabfragen einige zusätzliche Einschränkungen:
-
Alle Abfragen müssen mindestens ein Feldnamen-Wert-Paar enthalten. (
endpointHostName:endpoint-123
) -
Abfragezeichenfolgen müssen mindestens einen definierten Wert enthalten. Sie können das Sternchen-Platzhalterzeichen (*) in zusammengesetzten Abfragen verwenden, wenn mindestens ein Wert definiert ist. (
endpointHostName:endpoint-123 AND fileName:*
) -
Benutzerdefinierte Tags, die Punkte (.) enthalten, können nicht durchsucht werden.
-
Bereichsoperatoren (<, >, <=, >=) werden in benutzerdefinierten Filterabfragen nicht unterstützt.
Um mehr über die Abfragesyntax und Regex in benutzerdefinierten Filtern zu erfahren,
siehe Abfragesyntax und Verwenden Sie Regex in benutzerdefinierten Filtern.
Tipps zum Format der Filterabfrage
Um die Abfrageleistung zu verbessern und lange Ausführungszeiten zu vermeiden, beachten
Sie Folgendes:
-
Setzen Sie einfache Kriterien an den Anfang der Abfragezeichenfolge.
-
Platzieren Sie Felder, die ein großes Volumen an Daten zurückgeben (wie objectRawDataStr oder rawDataStr), am Ende der Abfragezeichenfolge.
-
Vermeiden Sie die Verwendung zu vieler Platzhalter oder setzen Sie Platzhalter ans Ende der Abfragezeichenfolge.
-
Verwenden Sie nur ein oder zwei Taktiken, Techniken und Verfahren pro Filter.
-
Verwenden Sie so wenige Operatoren wie möglich in einem Filter.
-
Setzen Sie das eventSubId an den Anfang der Filterbedingungen, um den Datensatz schnell einzugrenzen.
-
Verwenden Sie processName anstelle von processCmd, um das Filtern zu optimieren und die Komplexität zu reduzieren.
-
Setzen Sie ein einfaches Teilmuster vor ein kompliziertes Muster (wie komplexe Regex oder mittlere Platzhalter).Beispiel: Für
objectRawDataStr:'*(abcd -UseBasicParsing)*' UND (objectRawDataStr: '* abcd *' ODER objectRawDataStr: '* efgh *')
, extrahieren Sie die längste einfache Teilzeichenfolge, dieobjectRawDataStr: '*-UseBasicParsing*'
ist. Fügen Sie dann einen weiteren Filter hinzu, der zuerstobjectRawDataStr: '*-UseBasicParsing*'
überprüft. -
Verwenden Sie die vollständige Übereinstimmung mit exakten Werten anstelle einer Teilübereinstimmung. (
objectFileHashMd5: "d41d8cd98f00b204e9800998ecf8427e"
objectFileHashMd5: "d41d8cd98f00b204e9800998ecf8427e")