Verwaltung von Ausnahmen bei der Datenzuordnung
In IBM Cloud Logs kann es zu einer Datenzuordnungsausnahme kommen, wenn Daten, die durch die Datenpipeline Prioritätserkenntnisse aufgenommen werden, das gleiche Feld erkennen, das von verschiedenen Protokolleinträgen mit unterschiedlichen Typen gesendet wird.
Beispiel: In einem Protokoll, das von einer Anwendung aufgenommen wurde, sehen Sie ein Feld mit dem Typ 'Zeichenfolge' und in einem anderen Protokoll, das von einer anderen Anwendung generiert wurde, ist dasselbe Feld als Zahl oder einem anderen Typ eingepflegt. Dies führt zu einer Zuordnungsausnahme.
Eine Zuordnungsausnahme kann auftreten, wenn neue Protokollfelder mit Feldnamen aufgenommen werden, die zuvor von IBM Cloud Logs aufgenommen wurden, aber einen anderen Werttyp haben. Wenn IBM Cloud Logs die aufgenommenen Daten indiziert, versucht es, die Felder einem der folgenden Typen zuzuordnen:
StringNumericObjectArray
Wenn zum Beispiel das Feld user aufgenommen wurde und der erste empfangene Wert "username" ist, wird IBM Cloud Logs einen Index vom Typ string für das Feld user erstellen:
"user": “username”`
Wenn später ein neues Protokoll aufgenommen wird, das auch ein Feld mit dem Namen "user" enthält, das wie folgt formatiert ist:
"user": {
“email”: “username@yourcompany.com”,
”login”: “username”`
}
Eine Mapping-Ausnahme wird in IBM Cloud Logs erstellt. Bei allen Prioritätserkenntnisse-Suchen, die nach einem Feld mit dem Namen user suchen, wird erwartet, dass der Wert string auf der Grundlage des ersten Protokolls,
das mit einem user-Feld eingelesen wurde, vorhanden ist.
Alle Prioritätserkenntnisse-Suchen, die nach einem user mit dem Typ array (user.email oder user.login) suchen, werden aufgrund der Zuordnungsausnahme keine Ergebnisse liefern.
Anzahl der Zuordnungsausnahmen überprüfen
Um die Anzahl der Zuordnungsausnahmen zu überprüfen, klicken Sie in der Navigationsleiste auf das Symbol Verwendung > Zuordnungsstatistik.
Sie können die tägliche Gesamtzahl der Zuordnungsausnahmen im Abschnitt Zuordnungsausnahmen-Anzahl heute abrufen.
Felder mit Zuordnungsausnahmen identifizieren
Zum Ermitteln der Felder, die die Zuordnungsausnahmen verursacht haben, können Sie die folgende Abfrage ausführen:
_exists_:"coralogix.failed_reason"
Suche nach Daten, die Mapping-Ausnahmen enthalten
Wenn Sie in Prioritätserkenntnisse suchen, können Protokolldatensätze, die eine Zuordnungsausnahme enthalten, nur mit einer Freitextabfrage gesucht werden.
Wenn Sie der Instanz einen Dateneimer zugeordnet haben, können Sie die Protokolle über Alle Protokolle durchsuchen. Sie können mit einer Freitextabfrage oder mit Schlüssel:Wert-Paaren suchen.
Warnhinweise
Das Alerting ist von den Ausnahmen bei der Datenzuordnung nicht betroffen und wird weiterhin wie gewohnt ausgelöst.
Felder mit Zuordnungsausnahmen korrigieren
Um eine Zuordnungsausnahme zu beheben, identifizieren Sie das Feld, das eine Zuordnungsausnahme meldet, und die Anwendungen, die dasselbe Feld mit unterschiedlichen Typen senden. Versuchen Sie dann, das Problem an der Quelle zu beheben.
Führen Sie die folgenden Schritte aus, um Mapping-Ausnahmen zu identifizieren:
-
Prüfen Sie die IBM Cloud Logs UI auf ein Symbol neben der Anzahl der Logs:
Symbol für Ausnahmen Wenn Sie den Mauszeiger über das Symbol bewegen, wird die Anzahl der Protokolle mit Zuordnungsausnahmen innerhalb der Abfrageergebnisse im ausgewählten Zeitraum angezeigt.
-
Um die Protokolle zu identifizieren, die nicht richtig indiziert wurden, aktivieren Sie die Option
Show Mapping errors:
Auswahl, wie Zuordnungsfehler angezeigt werden sollen -
Nachdem Sie diese Option aktiviert haben, aktualisieren Sie Ihren Browser.
Ein Ausrufezeichen wird bei den Feldern angezeigt, bei denen Zuordnungsausnahmen bestehen und die nicht indiziert wurden.
Markierung von Feldern mit Zuordnungsausnahmen Eine andere Möglichkeit, schnell herauszufinden, bei welchen Feldern eine Zuordnungsausnahme vorliegt, besteht darin, diese Abfrage auszuführen:
_exists_: coralogix.failed_reason
Abfrage zur Anzeige von Kartierungsausnahmen. Diese Abfrage gibt nur die Protokollzeilen zurück, die eine Mapping-Ausnahme für den ausgewählten Zeitraum aufweisen.
Es gibt zwei Möglichkeiten, um Mapping-Ausnahmen zu lösen:
-
Option 1: Suche ohne Indizierung.
Wenn Sie bei der Abfrage aufgrund von Zuordnungsausnahmen ein Feld nicht finden, können Sie in
All Logsanstelle vonPriority Insightssuchen. Bei der Suche inAll Logswerden Indizierungs- und Zuordnungsausnahmen von der Suche umgangen. -
Option 2: Protokollsätze bei der Aufnahme korrigieren.
Sie können neue Protokolldatensätze mit denselben Feldnamen, aber mit unterschiedlichen Datentypen einlesen.
-
Erstellen Sie einen RegEx-Ausdruck, um den Feldnamen durch das entsprechende Suffix zu ersetzen. Zum Beispiel:
field_obj- Wenn IBM Cloud Logs einen String erwartet, aber ein Objekt gefunden hat:
- Regulärer Ausdruck:
("field"\s*:\s*{) - Ersetzen durch:
"field_obj":{
- Regulärer Ausdruck:
field_arr- Wenn IBM Cloud Logs einen String erwartet, aber ein Array gefunden hat:
- Regulärer Ausdruck:
("field"\s*:\s*[) - Ersetzen durch:
"field_arr":[
- Regulärer Ausdruck:
field_str- Wenn IBM Cloud Logs ein Objekt erwartet, aber einen String gefunden hat:
- Regulärer Ausdruck:
("field"\s*:\s*") - Ersetzen durch:
"field_str":"
- Regulärer Ausdruck:
-
Erstellen Sie eine Parsing Ersetzungsregel, um neue Protokolle mit Hilfe von RegEx zu fixieren.
-