Bestimmte Werte als JSON-Schlüssel extrahieren
In IBM® Cloud Logskönnen Sie die Regel Extrahieren verwenden, um bestimmte Werte zu extrahieren, die Sie als JSON-Schlüssel benötigen, ohne das gesamte Protokoll syntaktisch analysieren zu müssen.
Im Gegensatz zu einer Parserregel lässt eine Extraktionsregel das ursprüngliche Protokoll intakt und fügt ihm Felder im Stammverzeichnis hinzu.
Vorbereitende Schritte
Parserregeln sind in Regelgruppenorganisiert. Jede Gruppe hat einen Namen und eine Gruppe von Regeln mit einer logischen Beziehung zwischen ihnen. Protokolle werden gemäß der Reihenfolge der Regelgruppe (vom Anfang bis zum Ende) verarbeitet.
Sie werden dann nach der Reihenfolge der Regeln innerhalb der Regelgruppe und gemäß den logischen Operatoren zwischen ihnen (AND/OR) verarbeitet. Mithilfe von Regeln können Sie Protokolldaten verarbeiten, analysieren und umstrukturieren,
um die Überwachung und Analyse vorzubereiten. Weitere Informationen finden Sie unter Mit Regelgruppen arbeiten.
Benannte erfasste Gruppen zum Definieren neuer Felder verwenden
Die Extraktionsregel verwendet RegEx-named Erfassungsgruppen, um neue Felder zu definieren.
- Erfasste Gruppen werden zu den analysierten Protokollfeldern.
- Der Wert, der jeder Gruppe zugeordnet ist, wird zum Feldwert.
- RegEx muss nicht mit dem gesamten Protokoll übereinstimmen.
- Nur die benannten Erfassungsgruppen RegEx (die Werte in
< >) und der Wert, den sie erfassen, sind Teil des wiederhergestellten Protokolls.
Extraktionsregel konfigurieren
Führen Sie die folgenden Schritte aus:
-
Klicken Sie auf das Symbol Datenpipeline
> Parsing von Regeln und anschließend Neue Regelgruppe.
-
Geben Sie im Abschnitt Details den Regelgruppennamen und die Regelgruppenbeschreibungein.
-
Konfigurieren Sie im Abschnitt Regelabgleichkomponente die Anwendungen, Subsysteme und Wertigkeiten, die die Protokolle definieren, auf die die in der Regelgruppe enthaltenen Regeln angewendet werden sollen.
-
Wählen Sie im Abschnitt Regeln die Option Extrahieren
aus.
-
Geben Sie einen Namen ein.
-
Geben Sie optional eine Beschreibung ein.
-
Wählen Sie ein Quellfeld aus. Dies ist das Feld, auf das der RegEx angewendet wird.
-
Geben Sie den regulären Ausdruck (RegEx) ein.
-
Schalten Sie den Status auf AKTIV um, wenn die Regel aktiviert sein soll.
-
-
Fügen Sie weitere Regelgruppen hinzu, indem Sie auf Regel hinzufügen klicken und den gewünschten Regeltyp auswählen. Aktivieren Sie AND/OR, um auszuwählen, wie die zusätzlichen Regeln verarbeitet werden.
-
Klicken Sie auf Regelgruppe erstellen.
Beispiel: Zwei neue Felder erstellen
Das folgende Beispiel extrahiert Informationen aus der Feldnachricht und erstellt zwei neue Felder, 'bytes' und 'status ', die abgefragt und visualisiert werden können.
Das ursprüngliche Protokoll lautet:
{"level":"INFO", "message": "200 bytes sent status is OK"}
Der RegEx lautet wie folgt:
message"\s*:\s*"(?P<bytes>\d+)\s*.*?status\sis\s(?P<status>[^"]+)
Das formatierte Protokoll ist:
{
"level": "INFO",
"message": "200 bytes sent status is OK",
"Bytes": "200",
"status": "OK"
}
Wenn das ursprüngliche Protokoll unstrukturiert ist, werden Felder basierend auf den benannten Erfassungsgruppen hinzugefügt und das ursprüngliche Protokoll wird in einem Feld namens text gespeichert. Im vorherigen Beispiel wird
das ursprüngliche Protokoll in ein unstrukturiertes Protokoll geändert.
Das ursprüngliche Protokoll:
"level":"INFO", "message": "200 bytes sent status is OK",
Das resultierende Protokoll:
{
"bytes": "200",
"text": "\"level\":\"INFO\", \"message\": \"200 bytes sent status is OK\"",
"status": "OK"
}