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


23.11.2017

Z IEEE 802.3bz

Przełączniki Netgear
21.11.2017

4K z USB-C

EIZO FlexScan EV2785
16.11.2017

Wielofunkcyjne MFP

Canon imageRUNNER ADVANCE C256i, C356i oraz C356P
14.11.2017

Fabryka Przyszłości w drodze...

W dniach 25 i 26 października we Wrocławiu odbyła się czwarta edycja konferencji...
14.11.2017

Pamięć definiowana programowo

Red Hat Container-Native Storage 3.6
09.11.2017

Zgodnie z rodo

Snow Software GDPR Risk Assessment
07.11.2017

Bezpieczna stacja robocza

F-Secure Protection Service for Business (PSB)
03.11.2017

III Forum Bezpieczeństwa...

21 listopada 2017 r. w PSE w Konstancinie-Jeziornie odbędzie się III Forum Bezpieczeństwa...
27.10.2017

Zasilanie gwarantowane

Schneider Electric Galaxy VX

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"