Výukový program ELK Stack: Co je Kibana, Logstash & Elasticsearch?

Co je ELK Stack?

Jedno ELK Stack je kolekce tří open-source produktů — Elasticsearch, Logstasha Kibana. ELK stack poskytuje centralizované protokolování za účelem identifikace problémů se servery nebo aplikacemi. Umožňuje vám prohledávat všechny protokoly na jednom místě. Pomáhá také najít problémy na více serverech připojením protokolů během určitého časového rámce.

  • E znamená ElasticSearch: používá se pro ukládání protokolů
  • L znamená LogStash: používá se jak pro přepravu, tak pro zpracování a skladování protokolů
  • K znamená Kibana: je a vizualizační nástroj (webové rozhraní), které je hostováno prostřednictvím Nginx nebo Apache

ElasticSearch, LogStash a Kibana jsou všechny vyvíjeny, spravovány a udržovány společností Elastic.

ELK Stack je navržen tak, aby uživatelům umožňoval brát data z jakéhokoli zdroje v jakémkoli formátu a vyhledávat, analyzovat a vizualizovat tato data v reálném čase.

ELK Stack Architecture

Nyní v tomto tutoriálu ELK stack se dozvíme o architektuře ELK:

Zde je jednoduchá architektura zásobníku ELK

ELK Stack Architecture
ELK Stack Architecture
  • Protokoly: Jsou identifikovány protokoly serveru, které je třeba analyzovat
  • Logstash: Sbírejte protokoly a data událostí. Dokonce analyzuje a transformuje data
  • ElasticSearch: Transformovaná data z Logstash is Ukládat, vyhledávat a indexovat.
  • Kibana: Kibana používá Elasticsearch DB k prozkoumávání, vizualizaci a sdílení

Je však potřeba ještě jedna komponenta nebo sběr dat s názvem Beats. To vedlo Elastic k přejmenování ELK na Elastic Stack.

ELK Stack Architecture s Beats

Při práci s velmi velkým množstvím dat možná budete potřebovat Kafka, RabbitMQ pro ukládání do vyrovnávací paměti a odolnost. Pro bezpečnost lze použít nginx.

ELK Stack Architecture

Nyní v tomto tutoriálu o elastickém zásobníku Pojďme se hluboce ponořit do všech těchto open source produktů:

Co je Elasticsearch?

Elasticsearch je a NoSQL databáze. Je založen na vyhledávači Lucene a je postaven na RESTful APIS. Nabízí jednoduché nasazení, maximální spolehlivost a snadnou správu. Nabízí také pokročilé dotazy k provádění podrobné analýzy a centrálně ukládá všechna data. Je to užitečné pro provádění rychlého vyhledávání dokumentů.

Elasticsearch také umožňuje ukládat, vyhledávat a analyzovat velké objemy dat. Většinou se používá jako základní motor pro napájení aplikací, které splnily požadavky na vyhledávání. Byl přijat v platformách vyhledávačů pro moderní webové a mobilní aplikace. Kromě rychlého vyhledávání nabízí nástroj také komplexní analýzy a mnoho pokročilých funkcí.

Vlastnosti elastického vyhledávání

  • Open source vyhledávací server je napsán pomocí Java
  • Používá se k indexování jakéhokoli druhu heterogenních dat
  • Má webové rozhraní REST API s výstupem JSON
  • Fulltextové vyhledávání
  • Vyhledávání v blízkém reálném čase (NRT).
  • Sdílené úložiště dokumentů JSON s možností replikace
  • Distribuované úložiště dokumentů bez schématu, založené na REST & JSON
  • Podpora více jazyků a geolokace

Výhody Elasticsearch

  • Ukládejte data bez schématu a také vytvořte schéma pro vaše data
  • Manipulujte se záznamem dat po záznamu pomocí rozhraní API pro více dokumentů
  • Proveďte filtrování dat a dotazování se na statistiky
  • Založeno na Apache Lucene a poskytuje RESTful API
  • Poskytuje horizontální škálovatelnost, spolehlivost a schopnost více nájemců pro použití indexování v reálném čase, aby bylo vyhledávání rychlejší
  • Pomáhá vám měnit měřítko svisle a vodorovně

Důležité pojmy používané v elastickém vyhledávání

Nyní se v tomto tutoriálu ELK dozvíme o klíčových termínech používaných v ElasticSearch:

Období Používání
Cluster Cluster je kolekce uzlů, které společně uchovávají data a poskytují spojené možnosti indexování a vyhledávání.
Uzel Uzel je instance elasticsearch. Vytvoří se, když začne instance elasticsearch.
index Index je soubor dokumentů, které mají podobné vlastnosti. např. zákaznická data, produktový katalog. Je to velmi užitečné při provádění operací indexování, vyhledávání, aktualizace a mazání. Umožňuje vám definovat tolik indexů v jednom clusteru.
Dokument Je to základní jednotka informace, kterou lze indexovat. Vyjadřuje se v páru JSON (klíč: hodnota). '{“user”: “nullcon”}'. Každý jednotlivý dokument je spojen s typem a jedinečným ID.
Střep Každý index lze rozdělit na několik částí, aby bylo možné distribuovat data. Shard je atomická část indexu, kterou lze rozmístit po clusteru, pokud chcete přidat další uzly.

Co je to Logstash?

Logstash je nástroj pro sběr dat. Shromažďuje datové vstupy a vkládá je do Elasticsearch. Shromažďuje všechny typy dat z různých zdrojů a zpřístupňuje je pro další použití.

Logstash můžete sjednotit data z různých zdrojů a normalizovat data do požadovaných cílů. Umožňuje vám vyčistit a demokratizovat všechna vaše data pro analýzu a vizualizaci případů použití.

Skládá se ze tří složek:

  • Vstup: předávání protokolů ke zpracování do strojově srozumitelného formátu
  • Filtry: Je to soubor podmínek pro provedení konkrétní akce nebo události
  • Výstup: Rozhodčí pro zpracovanou událost nebo protokol

Vlastnosti Logstash

Nyní v tomto tutoriálu LogStash se pojďme dozvědět o funkcích LogStash:

  • Události procházejí každou fází pomocí interních front
  • Umožňuje různé vstupy pro vaše protokoly
  • Filtrování/analýza vašich protokolů

Výhoda Logstash

  • Nabídky centralizují zpracování dat
  • Analyzuje velké množství strukturovaných/nestrukturovaných dat a událostí
  • ELK LogStash nabízí pluginy pro připojení k různým typům vstupních zdrojů a platforem

Co je Kibana?

Kibana je datová vizualizace, která doplňuje ELK stack. Tento nástroj se používá pro vizualizaci dokumentů Elasticsearch a pomáhá vývojářům rychle do nich nahlédnout. Kibana dashboard nabízí různé interaktivní diagramy, geoprostorová data a grafy pro vizualizaci komplexních požadavků.

Lze jej použít pro vyhledávání, prohlížení a interakci s daty uloženými v adresářích Elasticsearch. Kibana vám pomůže k pokročilému výkonu analýza dat a vizualizujte svá data v různých tabulkách, grafech a mapách.

V Kibaně existují různé metody pro vyhledávání vašich dat.

Zde jsou nejběžnější typy vyhledávání:

Typ vyhledávání Používání
Volné textové vyhledávání Používá se pro vyhledávání konkrétního řetězce
Vyhledávání na úrovni pole Používá se pro hledání řetězce v určitém poli
Logické výroky Používá se ke spojení vyhledávání do logického příkazu.
Vyhledávání v blízkosti Používá se pro vyhledávání výrazů v blízkosti konkrétního znaku.

Nyní v tomto tutoriálu Kibana se dozvíme o důležitých funkcích Kibana:

Vlastnosti Kinbana:

  • Výkonný přední panel, který je schopen vizualizovat indexované informace z elastického clusteru
  • Umožňuje vyhledávání indexovaných informací v reálném čase
  • Můžete vyhledávat, prohlížet a pracovat s daty uloženými v Elasticsearch
  • Provádějte dotazy na data a vizualizujte výsledky v grafech, tabulkách a mapách
  • Konfigurovatelný řídicí panel pro krájení a krájení logstash protokolů v elasticsearch
  • Schopnost poskytovat historická data ve formě grafů, tabulek atd.
  • Řídicí panely v reálném čase, které lze snadno konfigurovat
  • Kibana ElasticSearch umožňuje vyhledávání indexovaných informací v reálném čase

Výhody a nevýhody Kinbana

  • Snadná vizualizace
  • Plně integrováno s Elasticsearch
  • Nástroj pro vizualizaci
  • Nabízí analýzu v reálném čase, vytváření grafů, shrnutí a ladění
  • Poskytuje instinktivní a uživatelsky přívětivé rozhraní
  • Umožňuje sdílení snímků prohledávaných protokolů
  • Umožňuje uložit řídicí panel a spravovat více řídicích panelů

Proč Log Analysis?

V infrastrukturách cloudového prostředí je výkon a izolace velmi důležitá. Výkon virtuálních počítačů v cloudu se může lišit v závislosti na konkrétní zátěži, prostředích a počtu aktivních uživatelů v systému. Spolehlivost a selhání uzlů se proto mohou stát významným problémem.

Platforma pro správu protokolů může monitorovat všechny výše uvedené problémy a také zpracovávat protokoly operačního systému, NGINX, protokol serveru IIS pro analýzu webového provozu, protokoly aplikací a protokoly AWS (Amazon webové služby).

Správa protokolů pomáhá inženýrům DevOps, správcům systému, dělat lepší obchodní rozhodnutí. Proto je důležitá analýza protokolů pomocí Elastic Stack nebo podobných nástrojů.

ELK vs. Splunk

los Splunk
Elk je open source nástroj Splunk je komerční nástroj.
Elk stack nenabízí Solaris Přenositelnost díky Kibaně. Splunk nabízí Solaris Přenosnost.
Rychlost zpracování je přísně omezena. Nabízí přesné a rychlé procesy.
ELK je technologický zásobník vytvořený kombinací Elastic Search-Logstash-Kibana. Splunk je proprietární nástroj. Poskytuje jak on-premise, tak cloudová řešení.
V ELK Searching, Analysis & Visualization bude možné pouze po nastavení zásobníku ELK. Splunk je kompletní balíček pro správu dat, který máte k dispozici.
Nástroj ELK nepodporuje integraci s jinými nástroji. Splunk je užitečný nástroj pro nastavení integrace s jinými nástroji.

Ukázkové studie

NetFlix

Netflix silně spoléhá na ELK stack. Společnost používá zásobník ELK k monitorování a analýze protokolu zabezpečení provozu zákaznických služeb. Umožňuje jim indexovat, ukládat a vyhledávat dokumenty z více než patnácti clusterů, které zahrnují téměř 800 uzlů.

LinkedIn

Slavný marketingový web sociálních médií LinkedIn používá ELK stack ke sledování výkonu a zabezpečení. IT tým integroval ELK s Kafkou, aby podporoval jejich zatížení v reálném čase. Jejich provoz ELK zahrnuje více než 100 clusterů v šesti různých datových centrech.

Tripwire

Tripwire je celosvětový systém správy událostí bezpečnostních informací. Společnost používá ELK k podpoře analýzy protokolů informačních paketů.

Střední

Medium je známá platforma pro publikování blogů. Používají ELK stack k ladění svých produkčních problémů. Společnost také používá k detekci ELK DynamoDB hotpoty. Navíc s použitím tohoto zásobníku může společnost podporovat 25 milionů unikátních čtenářů a také tisíce publikovaných příspěvků každý týden.

Výhody a nevýhody zásobníku ELK

Výhody

  • ELK funguje nejlépe, když se protokoly z různých podnikových aplikací sbíhají do jediné instance ELK
  • Poskytuje úžasné informace o této jediné instanci a také eliminuje potřebu přihlašování do stovek různých zdrojů dat protokolů
  • Rychlá instalace na místě
  • Snadné nasazení váhy vertikálně i horizontálně
  • Elastic nabízí řadu jazykových klientů, mezi které patří Ruby. Python. PHP, Perl, .NET, Java, a JavaSkript a další
  • Dostupnost knihoven pro různé programovací a skriptovací jazyky

Nevýhody

  • Když přejdete ke složitému nastavení, může být obtížné manipulovat s různými součástmi v zásobníku
  • Neexistuje nic jako pokus a omyl. Čím více toho tedy děláte, tím více se během cesty naučíte

Shrnutí

  • Centralizované protokolování může být užitečné při pokusu o identifikaci problémů se servery nebo aplikacemi
  • ELK server stack je užitečný pro řešení problémů souvisejících s centralizovaným logovacím systémem
  • ELK stack je kolekce tří open source nástrojů Elasticsearch, Logstash Kibana
  • Elasticsearch je databáze NoSQL
  • Logstash je nástroj pro sběr dat
  • Kibana je datová vizualizace, která doplňuje ELK stack
  • V infrastrukturách cloudového prostředí je výkon a izolace velmi důležitá
  • V ELK je rychlost zpracování zásobníku přísně omezena Splunk nabízí přesné a rychlé procesy
  • Netflix, LinkedIn, Tripware, Medium všechny používají ELK stack pro své podnikání
  • ELK Syslog funguje nejlépe, když se protokoly z různých aplikací podniku sbíhají do jediné instance ELK
  • Když přejdete ke složitému nastavení, může být obtížné manipulovat s různými součástmi v zásobníku

Odkazujte na naše Otázky a odpovědi k rozhovoru ElasticSearch pro čerstvější i zkušené kandidáty.