Dlaczego Elasticsearch kłamie? Jak działa Elasticsearch?

Elasticsearch zaskakuje nas swoimi możliwościami i szybkością działania, ale czy zwracane wyniki są prawidłowe? W tym wpisie dowiesz się jak Elasticsearch działa pod maską i dlaczego zwracane agregacje są pewnego rodzaju przybliżeniem.

Czytaj dalej „Dlaczego Elasticsearch kłamie? Jak działa Elasticsearch?”

Analiza Danych Transportu Miejskiego Warszawy w Kibana i Elasticsearch

W poprzednim wpisie udokumentowałem utworzenie przepływu danych wykorzystującego technologie takie jak Kafka, Kafka Streams, Logstash i Elasticsearch. Po kilku dniach pracy mam już wystarczającą ilość danych, aby przekonać się jakie możliwości analizy danych transportu miejskiego umożliwia Elasticsearch i Kibana.

Czytaj dalej „Analiza Danych Transportu Miejskiego Warszawy w Kibana i Elasticsearch”

Wizualizacja autobusów w Elasticsearch i Kibana – podejście strumieniowe – Kafka Streams, Logstash

Jest to drugie podejście Wizualizacja autobusów w Elasticsearch i Kibana. Tym razem wykorzystam napisany wcześniej program w Kafka Streams do obliczenia prędkości i orientacji autobusów, a następnie wrzucę Logstash-em z Apache Kafka do Elasticsearch.

Czytaj dalej „Wizualizacja autobusów w Elasticsearch i Kibana – podejście strumieniowe – Kafka Streams, Logstash”

Kafka Streams 202 – Dockeryzacja aplikacji, czyli Kafka w kontenerze

Obrazy Dockera są łatwe w obsłudze. Nie musimy instalować konkretnej wersji środowiska, bibliotek i innych zależności. Wszystko powinno być zamknięte w abstrakcji zwanej kontenerem. Możemy je uruchamiać i skalować w Docker Swarm lub Kubernetes. W tym wpisie zajmiemy się dockeryzacją aplikacji Kafka Streams na przykładzie strumienia dla lokalizacji autobusów ZTM przedstawionym w poprzednim wpisie.

Czytaj dalej „Kafka Streams 202 – Dockeryzacja aplikacji, czyli Kafka w kontenerze”

Kafka Streams 201 – Obliczanie prędkości, Processor API, KeyValueStore

Czasami klasyczne Kafka DSL nam nie wystarcza. Processor API pozwala na dowolne zdefiniowanie procesora, a co najlepsze, wykorzystanie State Store. W tym przypadku obliczymy prędkość, kierunek i dystans pojazdów komunikacji miejskiej w Warszwie.

Czytaj dalej „Kafka Streams 201 – Obliczanie prędkości, Processor API, KeyValueStore”

Kafka Streams 103 – Pisz testy, zapomnij o Kafce

Nie wyobrażam sobie programowania bez pisania testów. Gdy śpieszy mi się i o nich “zapominam”, potem i tak poprawiam kod przez jakąś głupotę. Poprawiają jakość i przyśpieszają czas tworzenia oprogramowania. Nie wierzysz?

Czytaj dalej „Kafka Streams 103 – Pisz testy, zapomnij o Kafce”

Kafka Streams 102 – Wyjątki i Dead Letter Queue

Błędy zdarzają się każdemu. Prędzej czy później nasza aplikacja Kafka Streams dostanie wiadomość, która ją zabije (Poison Pill). Niestety uruchomienie jej ponownie nie pomoże, dopóki wiadomość nie zniknie z kolejki. W tym wpisie spróbujemy obsłużyć takie wiadomości i zapisać je do Dead Letter Queue.

Czytaj dalej „Kafka Streams 102 – Wyjątki i Dead Letter Queue”

Kafka Streams 101

Przetwarzanie strumieniowe jest dzisiaj standardem. Skoro i tak większość osób korzysta z Apache Kafka jako kolejki, czemu nie spróbować Kafka Streams? Jest to rozwiązanie skalowalne i nie wymaga specjalnych środowisk typu YARN czy Apache Mesos. Ten wpis rozpoczyna serię wpisów dotyczących Kafka Streams.

Czytaj dalej „Kafka Streams 101”

(Darmowe) Alerty w Elasticsearch

Elasticsearch najczęściej wykorzystywany jest do agregowania logów i monitorowania elementów systemu. Umożliwia również alertowanie, ale jest to funkcjonalność dostępna od wersji Gold, czyli trzeba za nią zapłacić ?. Są jednak darmowe rozwiązania. W tym przypadku przyjrzymy się rozwiązaniu Praeco (z łac. obwoływacz, herold) opartym o ElastAlert.

Czytaj dalej „(Darmowe) Alerty w Elasticsearch”

Nie czytaj plików. Elasticsearch zrobi to za Ciebie.

Pewnie się zdziwi Cie ta informacja. Elasticsearch służy do… szukania. Tak. To prawda. Okazuje się, że można go wykorzystać również do indeksowania zawartości plików typu doc, docx, pdf itp. W tym wpisie przyjrzymy się jak to zrobić, jak zmienić analizator oraz jak “zgubić” plik jeśli i tak trzymamy go np. na S3.

Czytaj dalej „Nie czytaj plików. Elasticsearch zrobi to za Ciebie.”