Ich habe einen ELK-Stapel, der mit Logstash läuft, der Log-Ereignisse von RabbitMQ zieht. Es gibt eine Reihe von Loggern, die in die Warteschlange schreiben, und obwohl sie alle JSON mit einem ähnlichen Schema schreiben, sendet einer von ihnen ein bestimmtes Feld als Int
, während die anderen es als String
senden.ElasticSearch - nicht übereinstimmende Feldtypen im Schema
Wenn die erste Nachricht, die indiziert werden soll, eine Zeichenfolge enthält, funktioniert alles einwandfrei, aber wenn die erste Nachricht ein int enthält, dann ist der Feldtyp im Index Int
und Dokumente, wo es eine Zeichenfolge fehlschlägt indexieren.
Gibt es eine Möglichkeit, das Schema zu definieren, das ES im Voraus verwenden sollte? Oder ist die beste Lösung, um den Int
Logger zu ändern, um die Nummer als String
zu senden?