Samouczek dotyczący stosu ELK: Czym jest Kibana, Logstash & Elasticsearch?

Co to jest stos ELK?

Kurs Stos ELK to zbiór trzech produktów typu open source — Elasticsearch, Logstashi Kibanę. Stos ELK zapewnia scentralizowane logowanie w celu identyfikacji problemów z serwerami lub aplikacjami. Umożliwia przeszukiwanie wszystkich logów w jednym miejscu. Pomaga także znaleźć problemy na wielu serwerach, łącząc dzienniki w określonym przedziale czasu.

  • E oznacza ElasticSearch: służy do przechowywania logów
  • L oznacza LogStash: używany zarówno do wysyłki, jak i przetwarzania i przechowywania kłód
  • K oznacza Kibana: jest a narzędzie do wizualizacji (interfejs sieciowy) hostowany przez Nginx lub Apache

ElasticSearch, LogStash i Kibana są rozwijane, zarządzane i utrzymywane przez firmę Elastic.

ELK Stack został zaprojektowany tak, aby umożliwić użytkownikom pobieranie danych z dowolnego źródła, w dowolnym formacie oraz wyszukiwanie, analizowanie i wizualizację tych danych w czasie rzeczywistym.

Stos ELK Architektura

W tym samouczku dotyczącym stosu ELK poznamy architekturę ELK:

Oto prosta architektura stosu ELK

Stos ELK Architektura
Stos ELK Architektura
  • Kłody: Zostaną zidentyfikowane logi serwera, które wymagają analizy
  • Logstash: Zbieraj dane z dzienników i zdarzeń. Nawet analizuje i przekształca dane
  • Elastyczne wyszukiwanie: Przekształcone dane z Logstash is Przechowuj, wyszukuj i indeksuj.
  • Kibana: Kibana używa Elasticsearch DB do eksploracji, wizualizacji i udostępniania

Jednak potrzebny jest jeszcze jeden komponent lub zbieranie danych o nazwie Beats. To skłoniło Elastic do zmiany nazwy ELK na Elastic Stack.

Stos ELK Architechnologię z Beats

Podczas pracy z bardzo dużymi ilościami danych możesz potrzebować Kafki, RabbitMQ do buforowania i odporności. Dla bezpieczeństwa można użyć nginx.

Stos ELK Architektura

Teraz w tym samouczku dotyczącym elastycznego stosu, Przyjrzyjmy się bliżej wszystkim produktom open source:

Co to jest Elasticsearch?

Elasticsearch to Baza danych NoSQL. Opiera się na wyszukiwarce Lucene i jest zbudowany w oparciu o RESTful APIS. Oferuje proste wdrożenie, maksymalną niezawodność i łatwe zarządzanie. Oferuje również zaawansowane zapytania w celu przeprowadzenia szczegółowej analizy i przechowuje wszystkie dane centralnie. Jest to pomocne przy szybkim przeszukiwaniu dokumentów.

Elasticsearch pozwala również przechowywać, wyszukiwać i analizować duże ilości danych. Jest najczęściej używany jako podstawowy silnik do zasilania aplikacji, które spełniają wymagania wyszukiwania. Został przyjęty na platformach wyszukiwarek dla nowoczesnych aplikacji internetowych i mobilnych. Oprócz szybkiego wyszukiwania, narzędzie oferuje również złożone analizy i wiele zaawansowanych funkcji.

Funkcje wyszukiwania elastycznego

  • Serwer wyszukiwania typu open source jest napisany przy użyciu Java
  • Służy do indeksowania dowolnego rodzaju heterogenicznych danych
  • Posiada interfejs sieciowy API REST z wyjściem JSON
  • Wyszukiwanie pełnotekstowe
  • Wyszukiwanie w czasie zbliżonym do rzeczywistego (NRT).
  • Podzielony na fragmenty, replikowany i przeszukiwalny magazyn dokumentów JSON
  • Bezschematowy, rozproszony magazyn dokumentów oparty na REST i JSON
  • Obsługa wielu języków i geolokalizacji

Zalety Elasticsearch

  • Przechowuj dane bez schematu, a także tworzy schemat dla swoich danych
  • Manipuluj rekordem danych rekordem za pomocą interfejsów API obsługujących wiele dokumentów
  • Wykonuj filtrowanie i wysyłanie zapytań do danych w celu uzyskania szczegółowych informacji
  • Oparty na Apache Lucene i zapewniający RESTful API
  • Zapewnia skalowalność poziomą, niezawodność i możliwość obsługi wielu dzierżawców w celu wykorzystania indeksowania w czasie rzeczywistym, aby przyspieszyć wyszukiwanie
  • Pomaga skalować w pionie i poziomie

Ważne terminy używane w Elastic Search

Teraz, w tym samouczku ELK, poznajmy kluczowe terminy używane w ElasticSearch:

Semestr Stosowanie
Cluster Klaster to zbiór węzłów, które razem przechowują dane i umożliwiają łączne indeksowanie i wyszukiwanie.
Node Węzeł jest instancją Elasticsearch. Jest tworzony, gdy rozpoczyna się instancja Elasticsearch.
wskaźnik Indeks to zbiór dokumentów o podobnych cechach, np. dane klientów, katalog produktów. Jest bardzo przydatny podczas wykonywania operacji indeksowania, wyszukiwania, aktualizacji i usuwania. Pozwala zdefiniować dowolną liczbę indeksów w jednym klastrze.
dokument Jest to podstawowa jednostka informacji, która może być indeksowana. Jest wyrażony w parze JSON (klucz: wartość). '{“użytkownik”: “nullcon”}”. Każdy pojedynczy dokument jest powiązany z typem i unikalnym identyfikatorem.
Czerep Każdy indeks można podzielić na kilka fragmentów, aby móc dystrybuować dane. Fragment jest atomową częścią indeksu, którą można dystrybuować w klastrze, jeśli chcesz dodać więcej węzłów.

Co to jest Logstash?

Logstash to narzędzie do gromadzenia danych. Zbiera dane wejściowe i wprowadza je do Elasticsearch. Gromadzi wszelkiego rodzaju dane z różnych źródeł i udostępnia je do dalszego wykorzystania.

Logstash może ujednolicić dane z różnych źródeł i znormalizować dane w wybranych miejscach docelowych. Pozwala oczyścić i zdemokratyzować wszystkie dane na potrzeby analizy i wizualizacji przypadków użycia.

Składa się z trzech elementów:

  • Wkład: przekazywanie dzienników w celu przetworzenia ich do formatu zrozumiałego dla komputera
  • Filtry: Jest to zestaw warunków wykonania określonej akcji lub zdarzenia
  • Wydajność: Osoba podejmująca decyzję w sprawie przetwarzanego zdarzenia lub dziennika

Cechy Logstash

W tym samouczku dotyczącym LogStash zapoznamy się z jego funkcjami:

  • Zdarzenia przechodzą przez każdą fazę za pomocą kolejek wewnętrznych
  • Umożliwia różne dane wejściowe dla dzienników
  • Filtrowanie/analizowanie logów

Zaleta Logstash

  • Oferty centralizują przetwarzanie danych
  • Analizuje szeroką gamę ustrukturyzowanych/nieustrukturyzowanych danych i zdarzeń
  • ELK LogStash oferuje wtyczki umożliwiające łączenie się z różnymi typami źródeł danych wejściowych i platformami

Co to jest Kibana?

Kibana to wizualizacja danych, która uzupełnia stos ELK. To narzędzie służy do wizualizacji dokumentów Elasticsearch i pomaga programistom uzyskać szybki wgląd w nie. Pulpit nawigacyjny Kibana oferuje różne interaktywne diagramy, dane geoprzestrzenne i wykresy do wizualizacji złożonych zapytań.

Można go używać do wyszukiwania, przeglądania i interakcji z danymi przechowywanymi w katalogach Elasticsearch. Kibana pomaga wykonywać zaawansowane analiza danych i wizualizuj swoje dane w różnych tabelach, wykresach i mapach.

W Kibanie istnieją różne metody wyszukiwania danych.

Oto najpopularniejsze typy wyszukiwania:

Typ wyszukiwania Stosowanie
Wyszukiwanie dowolnego tekstu Służy do wyszukiwania określonego ciągu znaków
Wyszukiwania na poziomie pola Służy do wyszukiwania ciągu znaków w określonym polu
Stwierdzenia logiczne Służy do łączenia wyszukiwań w logiczne zestawienie.
Wyszukiwanie bliskości Służy do wyszukiwania terminów w obrębie określonego znaku.

Teraz, w tym samouczku dotyczącym Kibany, poznajmy ważne funkcje Kibany:

Cechy Kinbany:

  • Potężny panel front-end umożliwiający wizualizację indeksowanych informacji z klastra elastycznego
  • Umożliwia wyszukiwanie w czasie rzeczywistym zindeksowanych informacji
  • Możesz wyszukiwać, przeglądać i wchodzić w interakcję z danymi przechowywanymi w Elasticsearch
  • Wykonuj zapytania dotyczące danych i wizualizuj wyniki na wykresach, tabelach i mapach
  • Konfigurowalny panel do podziału i dzielenia logów Logstash w Elasticsearch
  • Możliwość udostępniania danych historycznych w formie wykresów, wykresów itp.
  • Pulpity nawigacyjne działające w czasie rzeczywistym, które można łatwo konfigurować
  • Kibana ElasticSearch umożliwia wyszukiwanie zaindeksowanych informacji w czasie rzeczywistym

Zalety i wady Kinbany

  • Łatwa wizualizacja
  • W pełni zintegrowany z Elasticsearch
  • Narzędzie do wizualizacji
  • Oferuje możliwość analizy w czasie rzeczywistym, tworzenia wykresów, podsumowań i debugowania
  • Zapewnia instynktowny i przyjazny dla użytkownika interfejs
  • Umożliwia udostępnianie migawek przeszukanych logów
  • Umożliwia zapisywanie dashboardu i zarządzanie wieloma dashboardami

Dlaczego analiza logów?

W infrastrukturze środowiska opartego na chmurze wydajność i izolacja są bardzo ważne. Wydajność maszyn wirtualnych w chmurze może się różnić w zależności od konkretnych obciążeń, środowisk i liczby aktywnych użytkowników w systemie. Dlatego niezawodność i awaria węzła mogą stać się poważnym problemem.

Platforma zarządzania logami może monitorować wszystkie powyższe problemy, a także przetwarzać dzienniki systemu operacyjnego, NGINX, dziennik serwera IIS w celu analizy ruchu sieciowego, dzienniki aplikacji i dzienniki na AWS (Amazon usługi internetowe).

Zarządzanie logami pomaga inżynierom DevOps i administratorom systemu podejmować lepsze decyzje biznesowe. Dlatego ważna jest analiza logów za pomocą Elastic Stack lub podobnych narzędzi.

ELK kontra Splunk

Łoś Splunk
Elk jest narzędziem typu open source Splunk jest narzędziem komercyjnym.
Stos łosi nie oferuje Solaris Przenośność dzięki Kibanie. oferty Splunk'a Solaris Ruchliwość.
Szybkość przetwarzania jest ściśle ograniczona. Oferuje dokładne i szybkie procesy.
ELK to stos technologii stworzony z połączenia Elastic Search-Logstash-Kibana. Splunk jest narzędziem zastrzeżonym. Dostarcza rozwiązania zarówno on-premise, jak i w chmurze.
W ELK wyszukiwanie, analiza i wizualizacja będą możliwe dopiero po skonfigurowaniu stosu ELK. Splunk to kompletny pakiet do zarządzania danymi do Twojej dyspozycji.
Narzędzie ELK nie obsługuje integracji z innymi narzędziami. Splunk to przydatne narzędzie do konfigurowania integracji z innymi narzędziami.

Przykłady zastosowania

Netflix

Netflix w dużym stopniu opiera się na stosie ELK. Firma używa stosu ELK do monitorowania i analizowania dziennika bezpieczeństwa operacji obsługi klienta. Pozwala im to indeksować, przechowywać i wyszukiwać dokumenty z ponad piętnastu klastrów, które obejmują prawie 800 węzłów.

LinkedIn

Znana witryna marketingu społecznościowego LinkedIn używa stosu ELK do monitorowania wydajności i bezpieczeństwa. Zespół IT zintegrował ELK z Kafką, aby obsługiwać obciążenie w czasie rzeczywistym. Ich działanie ELK obejmuje ponad 100 klastrów w sześciu różnych centrach danych.

Tripwire

Tripwire to ogólnoświatowy system zarządzania zdarzeniami związanymi z bezpieczeństwem informacji. Firma wykorzystuje ELK do wspomagania analizy dziennika pakietów informacyjnych.

Średni

Medium to znana platforma do publikowania blogów. Używają stosu ELK do debugowania problemów produkcyjnych. Firma wykorzystuje również ELK do wykrywania DynamoDB hotpoty. Co więcej, korzystając z tego stosu, firma może obsłużyć 25 milionów unikalnych czytelników i tysiące publikowanych postów tygodniowo.

Zalety i wady stosu ELK

Zalety

  • ELK działa najlepiej, gdy dzienniki z różnych aplikacji przedsiębiorstwa zbiegają się w jedną instancję ELK
  • Zapewnia niesamowity wgląd w tę pojedynczą instancję, a także eliminuje potrzebę logowania się do stu różnych źródeł danych dziennika
  • Szybka instalacja na miejscu
  • Łatwe do wdrożenia. Skaluje się w pionie i poziomie
  • Elastic oferuje szeroką gamę klientów językowych, w tym Ruby. Python. PHP, Perl, .NET, Java, JavaSkrypt i więcej
  • Dostępność bibliotek dla różnych języków programowania i skryptów

Niedogodności

  • Różne komponenty w stosie mogą stać się trudne w obsłudze, gdy przejdziesz do złożonej konfiguracji
  • Nie ma to jak metoda prób i błędów. Zatem im więcej robisz, tym więcej się uczysz

Podsumowanie

  • Scentralizowane rejestrowanie może być przydatne przy próbie zidentyfikowania problemów z serwerami lub aplikacjami
  • Stos serwerów ELK jest przydatny do rozwiązywania problemów związanych ze scentralizowanym systemem logowania
  • Stos ELK to zbiór trzech narzędzi open source Elasticsearch, Logstash Kibana
  • Elasticsearch to baza danych NoSQL
  • Logstash to narzędzie do gromadzenia danych
  • Kibana to wizualizacja danych, która uzupełnia stos ELK
  • W infrastrukturze środowiska opartego na chmurze wydajność i izolacja są bardzo ważne
  • W stosie ELK prędkość przetwarzania jest ściśle ograniczona, natomiast Splunk oferuje dokładne i szybkie procesy
  • Netflix, LinkedIn, Tripware i Medium używają stosu ELK w swojej firmie
  • ELK Syslog działa najlepiej, gdy dzienniki z różnych aplikacji przedsiębiorstwa zbiegają się w jedną instancję ELK
  • Różne komponenty w stosie mogą stać się trudne w obsłudze, gdy przejdziesz do złożonej konfiguracji

Zapoznaj się z naszym Pytania i odpowiedzi dotyczące rozmowy kwalifikacyjnej ElasticSearch zarówno dla świeżych, jak i doświadczonych kandydatów.