Graylog: Ursache des Problems
Diese Dokumentation ist Teil des Daten-Mapping-Probleme-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Sie Probleme mit dem Daten-Mapping von Graylog-Indizes lösen.
👋 Willkommen bei der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Graylog Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:
- Unbegrenzter und dedizierter SMTP-E-Mail-Server inklusive.
- Mühelose Updates mit nur einem Klick.
- Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://logs.ihre-firma.com).
- Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Graylog Cloud Hosting-Lösung von Stackhero auszuprobieren!
Dieses Problem entsteht durch die dynamische Mapping-Funktion von OpenSearch. Das dynamische Mapping bestimmt den Datentyp jedes Feldes automatisch anhand des ersten Dokuments, das in einen Index geschrieben wird. Sobald dieser Datentyp festgelegt ist, ist er "fixiert" und alle zukünftigen Dokumente, die für dieses Feld einen anderen Datentyp verwenden, werden abgelehnt. Dies führt zu einer Mapper Parsing Exception.
Wenn ein neuer Index erstellt wird, definiert das erste Dokument das Index-Mapping. Enthält dieses Dokument beispielsweise ein Feld "level" mit dem Wert 3 (eine numerische Angabe), setzt OpenSearch den Datentyp für "level" auf "long" (numerischer Typ). Wenn später ein weiteres Dokument an Graylog gesendet wird, das das Feld "level" mit dem Wert "error" (ein String) enthält, wird dieses abgelehnt, da der Datentyp nicht mit dem ursprünglich festgelegten Typ übereinstimmt. Dies löst einen mapper_parsing_exception-Fehler mit dem Grund failed to parse field [level] of type [long] in document with id 'xxx'. aus.
Dieses Problem kann bei jedem Feld auftreten, wenn die Datentypen in den Dokumenten nicht konsistent sind.