Prosty mechanizm, który zabezpieczy Ci kolektor logów np. Logstash

Planując system bierzemy pod uwagę ewentualne awarie (Design for Failure). W przypadku agregacji logów, oprócz rozwiązań typu Elasticsearch czy Splunk, korzystamy również z kolejek np. Apache Kafka. Działa w klastrze, pełni rolę bufora i pozwala na zastosowanie wielu konsumentów typu Logstash lub Fluentd. Czasami jednak zapominamy o zabezpieczeniu kolektora, który zasila kolejkę. W tym wpisie dowiesz się jak użyć keepalived, by zapewnić failover.

Czytaj dalej Prosty mechanizm, który zabezpieczy Ci kolektor logów np. Logstash

Koalas, czyli PySpark w przebraniu Pandas

Jednym z podstawowych narzędzi Data Scientist jest Pandas. Niestety nadmiar danych może znacznie utrudnić nam zabawę. Dlatego powstało Koalas. Biblioteka umożliwiająca korzystanie z Apache Spark w taki sposób, jakbyśmy robili to za pomocą Pandas.

Czytaj dalej Koalas, czyli PySpark w przebraniu Pandas

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