Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


19.09.2017

Do sieci miejskich

D-Link DGS-3000 DGS-3000
15.09.2017

RODO: Chmura przychodzi z...

Rozporządzenie o Ochronie Danych Osobowych (RODO) zacznie obowiązywać już za niespełna...
15.09.2017

Kamery zmiennopozycyjne

Axis Q86 i Q87
12.09.2017

Procesy zgodne z rodo

Doxis4 iECM
08.09.2017

Kompleksowa obsługa

Oracle Cloud Applications Release 13
05.09.2017

Konteneryzacja

Red Hat OpenShift Container Platform 3.6
29.08.2017

Zmiana zakresu napięcia

Ever UPS ECO Pro CDS
28.08.2017

HackYeah: rekordowy hackathon...

Dwa tysiące programistów i specjalistów IT z całej Europy spotka się 27-29 października w...
25.08.2017

Router mini

MikroTik RB931-2nD

ELK – Elastic Stack

Data publikacji: 22-02-2017 Autor: Marcin Jurczyk
Niektóre logi Windows mogą...

Informacja to jeden z najcenniejszych zasobów w otaczającym nas cyfrowym świecie. Niemal każde z urządzeń podłączonych do sieci potrafi generować dane. Zbieranie i umiejętne przetwarzanie tego typu może być kluczowym elementem w podejmowaniu istotnych decyzji, zarówno tych biznesowych, jak i bardziej przyziemnych.

Temat zbierania, przetwarzania i analizy danych był już niejednokrotnie poruszany na łamach „IT Professional”, w kontekście różnych zadań i narzędzi wykorzystywanych na co dzień. Trzyczęściowy cykl dedykowany narzędziom klasy SIEM to tylko jeden z wielu przypadków, kiedy opisywaliśmy narzędzia do rozbudowanej analizy i wizualizacji informacji. Wśród rozwiązań komercyjnych tego typu prym wiedzie opisywany Splunk Enterprise („IT Professional” 4/2015, s. 47). Po stronie rozwiązań open source wskazaliśmy pakiet OSSIM („IT Professional” 2/2015, s. 52).

Tym razem przyjrzymy się jednak nieco innemu rozwiązaniu, które można wykorzystać na wiele sposobów, w tym również do gromadzenia, przetwarzania i analizy zdarzeń związanych z bezpieczeństwem. Mowa tu o zestawie oprogramowania określanego potocznie jako stos ELK. Skrót ten pochodzi od pierwszych liter kluczowych komponentów wchodzących w skład rozwiązania, a mianowicie: Elasticsearch, Logstash oraz Kibana. Liczbę narzędzi integrujących się ze wspomnianą trójką można z łatwością rozszerzyć choćby o pakiety takie jak Beats. Każdy z wymienionych komponentów odgrywa istotną rolę w całym ekosystemie, choć najważniejszym elementem układanki jest bez wątpienia Elasticsearch, wokół którego rozwinęły się pozostałe projekty.

W dużym skrócie ELK można zdefiniować jako darmowe, wysokoskalowalne, rozproszone rozwiązanie do zbierania, przetwarzania, wyszukiwania i analizowania informacji pochodzących ze zróżnicowanych systemów źródłowych wraz z rozbudowanymi funkcjami wizualizacji wyników analizy. Aby w pełni zrozumieć architekturę ELK, konieczne jest poznanie każdego z pakietów składowych z osobna.

> ELASTICSEARCH

Elasticsearch to, w dużym uproszczeniu, pełnotekstowy silnik wyszukiwania (baza NoSQL) z webowym interfejsem HTTP, bazujący na innym popularnym projekcie, jakim jest Apache Lucene. Minęło właśnie 7 lat od czasu pierwszej publikacji wersji Elasticsearch, a więc stosunkowo niewiele, biorąc pod uwagę fakt, że jest to obecnie najbardziej popularny silnik wyszukiwania na świecie. Twórcą pakietu jest Shane Banon, deweloper, który postanowił oprogramować warstwę abstrakcji dla biblioteki Lucene ułatwiającą integrację z innymi projektami, a także upraszczającą analizę i eksplorację danych na tyle, na ile to możliwe. Elasticsearch został napisany w języku Java, a więc instalacja JRE jest jedynym wymogiem koniecznym do uruchomienia pakietu. Mamy tu do czynienia z mechanizmem wyszukiwania niemalże w czasie rzeczywistym – dokumentacja podaje, że potrzeba około sekundy pomiędzy zaindeksowaniem dokumentu a momentem, kiedy można go wyszukać. Elasticstack można uruchomić zarówno na pojedynczej maszynie, jak też w formie rozproszonego klastra składającego się z wielu węzłów. Ze względu na wykorzystanie Javy, a co za tym idzie – możliwości zarządzania pamięcią, rozwiązanie skaluje się poziomo. Oznacza to, że aby uzyskać większą wydajność, konieczne jest uruchomienie kolejnych instancji serwerów hostujących aplikację. Tak powiązane serwery tworzą spójny system odpowiedzialny za równoczesne indeksowanie i wyszukiwanie informacji pomiędzy wszystkimi węzłami. Klaster identyfikowany jest na podstawie nazwy, podobnie jak węzły do niego należące. Podstawową strukturą dla Elasticsearch jest indeks, definiowany jako kolekcja dokumentów o podobnej charakterystyce. Przykładem indeksu może być katalog produktów albo zestaw logów serwera Apache. Liczba obsługiwanych indeksów jest nieograniczona i zależy jedynie od liczby i rodzaju systemów źródłowych, z których zbierane są dane. W ramach indeksu można dobrowolnie zdefiniować typ, który określa dokumenty charakteryzujące się wspólnymi polami, jak na przykład logi aplikacji. Dokument sam w sobie jest podstawową jednostką informacji, która może zostać zaindeksowana – w uproszczeniu odpowiada pojedynczemu rekordowi zawierającemu przykładowo dane teleadresowe kontrahenta. Dokumenty przechowywane są w formacie JSON (JavaScript Object Notation), będącym popularnym formatem wymiany danych w sieci.

 

[...]

 

Marcin Jurczyk
Autor jest architektem w międzynarodowej firmie z branży IT. Zajmuje się infrastrukturą sieciowo-serwerową, wirtualizacją infrastruktury i pamięcią masową.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2013 Presscom / Miesięcznik "IT Professional"