Monitoring Serwerów - Forum o monitoringu infrastruktury IT
rozmiar dokumentów w Kafka
#2
W zależności od potrzeb proponuje 3 rozwiązania które powinny się sprawdzić:

1. Tagowanie dokumentów posiadających więcej niż 10000 znaków. w polu message. Taki dokument można w sekcji output skierować np pliku - output file{}, a następnie podejrzeć i odpowiednio sparsować tak żeby pole message było już pocięte na odpowiednie pola. W tym przypadku duże dokumenty będą pomijały output kafki i pipeline logstasha się nie zapełni.



Code:
filter {
        ruby {
                code => "
                        if event.get('message').length > 10000
                        event.tag('TLTR')
                        end
                "
        }
}


2. Truncate + Tagowanie. Dokument zostanie obcięty po określonej liczbie bajtów oraz otagowany tak żeby było wiadomo który message jest ucięty.
W tym przypadku duże dokumenty będą ucinane i zostaną poprawnie odebrane po stronie kafki,a pipeline logstasha się nie zapełni.


Code:
filter {
        truncate {
                fields => ["message"]
                length_bytes => 49999999
                add_tag => "TLTR"
        }
}


3. Rozwiązanie przydatne w przypadku w którym wiemy, że "duże dokumenty" zawierają nieistotne informacje i możemy pozwolić sobie na utratę.
W tym wypadku dokument który zostanie odbity od kafki, wróci do kolejki tylko na 1 próbę, a następnie zostanie porzucony, nie zapychając tym samym pipeline logstasha.


Code:
W sekcji output należy dodać parametr:

retries=> 1
Reply


Messages In This Thread
RE: rozmiar dokumentów w Kafka - by SzymonK - 09-04-2020, 07:45 AM

Forum Jump:

User Panel Messages