Graylog: Przyczyna problemu
Ta dokumentacja jest częścią przewodnika Problemy z mapowaniem danych. Pełny przewodnik znajdziesz tutaj: Jak rozwiązywać problemy z mapowaniem danych indeksu w Graylog.
👋 Witamy w dokumentacji Stackhero
Stackhero oferuje w pełni zarządzane rozwiązanie Graylog cloud, zaprojektowane z myślą o szybkości i prostocie. Możesz:
- Korzystać z nielimitowanego, dedykowanego serwera SMTP email, który jest wliczony w usługę.
- Wdrażać aktualizacje bez wysiłku, jednym kliknięciem, bez konieczności ręcznej ingerencji.
- Używać własnej nazwy domeny zabezpieczonej przez HTTPS (na przykład https://logs.twoja-firma.com), zapewniając swojemu zespołowi bezpieczny, bezpośredni dostęp.
- Doświadczać wysokiej wydajności i bezpieczeństwa na prywatnej, dedykowanej infrastrukturze – bez współdzielonych zasobów i zakłócających sąsiadów.
Skup się na swoich danych, nie na narzędziach: rozpoczęcie pracy z Graylog cloud hosting od Stackhero zajmuje tylko kilka minut.
Problem ten wynika z funkcji dynamicznego mapowania w OpenSearch. Dynamic mapping automatycznie określa typ danych każdego pola na podstawie pierwszego dokumentu zapisanego w indeksie. Po ustaleniu typ danych jest "zablokowany" i każde kolejne dokumenty, w których to pole ma inny typ danych, są odrzucane, co skutkuje błędem mapper parsing exception.
Gdy tworzony jest nowy indeks, pierwszy dokument definiuje mapowanie indeksu. Na przykład, jeśli dokument zawiera pole "level" z wartością 3 (wartość numeryczna), OpenSearch ustawia typ danych pola "level" na "long" (typ liczbowy). Jeśli późniejszy dokument wysłany do Graylog zawiera pole "level" ustawione na "error" (typ tekstowy), zostanie on odrzucony, ponieważ typ danych nie zgadza się z pierwotnie ustalonym typem. Powoduje to błąd mapper_parsing_exception z powodem failed to parse field [level] of type [long] in document with id 'xxx'.
Problem ten może wystąpić dla dowolnego pola, jeśli typy danych są niespójne pomiędzy dokumentami.