Duplikacja dokumentów - Printable Version +- Monitoring Serwerów - Forum o monitoringu infrastruktury IT (https://monitoringserwerow.pl) +-- Forum: MONITORING INFRASTRUKTURY IT (https://monitoringserwerow.pl/forumdisplay.php?fid=1) +--- Forum: Logstash (https://monitoringserwerow.pl/forumdisplay.php?fid=20) +--- Thread: Duplikacja dokumentów (/showthread.php?tid=118) |
Duplikacja dokumentów - WhiteHatPirate - 04-15-2021 Cześć. Zbieramy dane w elasticu i wizualizujemy je, ale czasem wyniki są przekłamane. Sprawdziliśmy i wychodzi na to, że to przez logstasha. Okazjonalnie zaczyta dane powtórnie z jakiegoś powodu. Jest jakiś sposób na to? RE: Duplikacja dokumentów - SzymonC - 04-15-2021 Hej. Ok, więc jak sam zauważyłeś/aś logstash wysyła dokumenty i czasem (przez restart, konfigurację lub nawet same źródło) duplikaty mogą pojawić się w systemie. Dobrym sposobem, żeby sobie z tym poradzić jest uzupełnienie konfiguracji logstasha o fingerprint. Logstash buduje unikalny fingerprint dla dokumentu, na bazie jakichś pól i wtedy zastępujemy nim id dokumentu. Konfiruacja może wyglądać jak poniżej: Code: Input { RE: Duplikacja dokumentów - WhiteHatPirate - 04-15-2021 Ok, fajnie. A nie a jakiegoś sposobu, żeby to ogarnąć bez zmiany konfiguracji logstasha? Na przykład w kibanie? Poza tym zduplikowany dokument będzie mieć inny @timestamp i też będzie przekłamywał wyniki. RE: Duplikacja dokumentów - SzymonC - 04-15-2021 Tak, @timestamp może być inny od oryginalnego, jeśli tego pola też nie obsłużymy w konfiguracji logstasha. Z drugiej strony pole @timestamp nie jest niczym unikalnym ani tym bardziej wymaganym w kibanie. Te pole jest dodawane przez logstash w momencie, w którym odebrał dokument, ale to wszystko. Jeśli wasze wyliczenia bazują na aspekcie czasu, to wówczas proponuję pobierać datę z innego miejsca, np. czas utworzenia wpisu przez źródło. Mając takie pole, utworzyć nowy index pattern w kibanie, który będzie tworzył oś czasu nie na bazie @timestamp, a właśnie na bazie tego nowego pola. Jeśli chodzi o inne opcje: Generalnie obsługa tego w logstashu jest zdecydowanie najlepszym rozwiązaniem. Jeśli chcemy obsłużyć to w kibanie to jest to trochę zamiatanie pod dywan, a nie rozwiązywanie problemu duplikacji dokumentów. Niemniej jednak - w wizualizacjach w kibanie mamy dostępna metryke Unique Count, którą można wykorzystać do tego, by daną wartość zliczała jedynie raz i wtedy wyliczenia nie będą brały pod uwagę duplikatów. Ostatecznie można pobawić się jeszcze ze scripted fields, ale to wymaga skryptowania i nie jest rekomendowane do użycia w produkcyjnych środowiskach. Jeśli już zabieramy się do kodu, to niech to będzie kod konfiguracji logstasha. RE: Duplikacja dokumentów - WhiteHatPirate - 04-15-2021 W porządku, ale teraz jest kolejny problem - jeśli mam utworzyć nowy index pattern to stare wizualizacje nie będą na nim działać! Wszystkie wizualizacje mam robić od 0 w związku z nowym patternem? RE: Duplikacja dokumentów - SzymonC - 04-15-2021 (04-15-2021, 11:47 AM)WhiteHatPirate Wrote: kolejny problem - jeśli mam utworzyć nowy index pattern to stare wizualizacje nie będą na nim działać! Nie zapominajmy, że prawdziwym problemem jest duplikacja dokumentów W każdym razie przepięcie wizualizacji to nowy pattern nie jest szczególnie skomplikowana. Każdy pattern ma swoje id. Jedyne co trzeba zrobić to edytować kod wizualizacji i podmienić id starego patternu na te z nowego i wszystko będzie śmigać. Kod wizualizacji można zobaczyć poprzez przejście do management -> saved objects -> nazwa_wizualizacji. |