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


25.07.2017

Nowy napęd SSD

KC1000 NVMe PCIe
21.07.2017

Rekord świata

Lenovo x3950 X6
18.07.2017

Brightness Intellgence Plus

BenQ EW2770QZ
14.07.2017

Poza pasmem

Opengear ACM7000
11.07.2017

Ochrona środowisk wirtualnych

Kaspersky Security for Virtualization Light Agent
07.07.2017

Analityka, SDN i IoT

Citrix ADC NetScaler 12.0
04.07.2017

AntiRansomware

G DATA AntiVirus Business
28.06.2017

Core i9 – nowa seria...

Intel Core i9 Skylake-X i Kaby Lake-X
23.06.2017

Z autotrackingiem

Aver PTC500

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"