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


19.02.2018

Router 802.11ax

ASUS RT-AX88U
15.02.2018

Druk cyfrowy A3

Accurio Print C759
12.02.2018

Procesory z GPU

Intel Core z Radeon RX Vega M
08.02.2018

Widoczność i kontrola...

Cisco Security Connector
05.02.2018

Firmowa sieć w zasięgu ręki

NETGEAR Insight 4.0 Premium
01.02.2018

Nowe funkcje dla NAS

QNAP QTS 4.3.4
26.01.2018

Serwery dla AI

IBM Power9
23.01.2018

Infrastruktura konwergentna

NFLEX firm Fujitsu i NetApp
19.01.2018

Wysoka gęstość

D-Link DGS-3630

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"