GNU/Linux >> Znalost Linux >  >> Ubuntu

Výukový program ELK Stack:Začínáme s Elasticsearch, Logstash, Kibana a Beats

Úvod

Elastický zásobník , dříve známý jako ELK zásobník , je oblíbená sada nástrojů pro přijímání, prohlížení a správu souborů protokolu. Jako software s otevřeným zdrojovým kódem si jej můžete stáhnout a používat zdarma (ačkoli jsou k dispozici také placené verze a verze hostované v cloudu).

Tento výukový program představuje základní použití a funkce ELK Stack.

Předpoklady

  • Systém s nainstalovaným Elasticsearch

Co je ELK Stack?

ELK je zkratka pro Elasticsearch, Logstash a Kibana. V předchozích verzích byly základní komponenty ELK Stack:

  • Elasticsearch – Základní složka ELK. Funguje jako prohledávatelná databáze pro soubory protokolu.
  • Logstash – Potrubí pro získávání dat. Lze jej nakonfigurovat tak, aby získával data z mnoha různých zdrojů a poté je posílal do Elasticsearch.
  • Kibana – Nástroj pro vizualizaci. K uspořádání a zobrazení dat využívá rozhraní webového prohlížeče.

Další softwarové balíčky s názvem Beats jsou novějším přírůstkem. Jedná se o menší aplikace pro sběr dat, specializované na jednotlivé úkoly. Existuje mnoho různých aplikací Beats pro různé účely. Například Filebeat se používá ke shromažďování souborů protokolu, zatímco Packetbeat se používá k analýze síťového provozu.

Díky rychle rostoucí zkratce ELK Elastic Stack se stal pro jméno uspokojivější a škálovatelnější variantou. ELK a Elastic Stack se však používají zaměnitelně.

Proč používat ELK Stack?

Zásobník ELK vytváří flexibilní a spolehlivé prostředí pro analýzu dat. Organizace, zejména ty s cloudovou infrastrukturou, těží z implementace elastického stacku k řešení následujících problémů:

  • Práce na různých serverech a aplikacích vytváří velké množství dat protokolu, která nejsou pro člověka čitelná. Zásobník ELK slouží jako výkonná centralizovaná platforma pro shromažďování a správa nestrukturovaných informací , čímž se promění v užitečná aktiva v rozhodovacím procesu.
  • Sada ELK se základními funkcemi je open source, díky čemuž je nákladově efektivní řešení pro začínající i zavedené firmy.
  • Elastic stack poskytuje robustní platformu pro monitorování výkonu a zabezpečení a zajišťuje maximální dobu provozu a dodržování předpisů .

Elastic stack řeší mezeru v oboru pomocí log dat. Software dokáže spolehlivě analyzovat data z více zdrojů do škálovatelné centralizované databáze, která umožňuje jak historickou analýzu, tak analýzu v reálném čase.

Jak funguje elastická sada?

Elastický zásobník se řídí určitými logickými kroky, které jsou všechny konfigurovatelné.

1. Počítač nebo server vytvoří soubory protokolu. Všechny počítače mají soubory protokolu, které dokumentují události v systému v obtížně čitelném formátu. Některé systémy, jako jsou serverové clustery, generují obrovské množství souborů protokolu.

Elastic Stack je však navržen tak, aby pomohl spravovat škálovatelné množství dat.

2. Různé dostupné informační soubory shromažďuje Beats aplikace. Různé doby oslovit různé části serveru, přečíst si soubory a odeslat je.

Někteří uživatelé mohou Beats úplně přeskočit a používat přímo Logstash. Ostatní mohou Beats připojit přímo k Elasticsearch.

3. Logstash je nakonfigurován tak, aby oslovoval a shromažďoval data z různých Beats aplikací (nebo přímo z různých zdrojů).

Ve větších konfiguracích Logstash může filtrovat data z více systémů a shromažďovat informace na jednom místě.

4. Elasticsearch se používá jako škálovatelná databáze s možností vyhledávání k ukládání dat. Elasticsearch je sklad, kde je Logstash nebo Beats potrubí všechna data.

5. Nakonec Kibana poskytuje uživatelsky přívětivé rozhraní pro kontrolu shromážděných dat.

Je vysoce konfigurovatelný, takže si můžete upravit metriky tak, aby vyhovovaly vašim potřebám. Kibana také poskytuje grafy a další nástroje pro vizualizaci a interpretaci vzorců v datech.

Aplikace podporující ELK Stack

Další aplikace třetích stran vylepšují Elastic Stack a poskytují širší možnosti použití. Některé externí aplikace podporované zásobníkem ELK jsou:

  • Apache Kafka

Kafka je distribuční platforma pro streamování v reálném čase. To znamená, že dokáže číst více zdrojů dat najednou. Kafka funguje jako datová vyrovnávací paměť a pomáhá předcházet ztrátě dat nebo přerušení při rychlém streamování souborů.

  • Redis

Redis je databáze klíč-hodnota NoSQL s neuvěřitelnou rychlostí čtení/zápisu a různými datovými typy. Po přidání do Elastic stacku Redis často slouží jako vyrovnávací paměť pro špičky datového toku, což zajišťuje, že nedojde ke ztrátě dat.

  • Hadoop

Hadoop je masivní dávkový systém pro ukládání dat. Indexování dat z Hadoop do nástroje Elasticsearch v reálném čase vytváří interaktivní obousměrnou platformu pro zjišťování a vizualizaci dat.

Podpora Hadoop přichází prostřednictvím konektoru Elasticsearch-Hadoop Connector, který nabízí plnou podporu pro nástroje Spark, Streaming, Hive, Storm, MapReduce a další.

  • RabbitMQ

RabbitMQ je platforma pro zasílání zpráv. Uživatelé Elastic Stack používají tento software k vytvoření stabilní fronty protokolových souborů s vyrovnávací pamětí.

  • Nginx

Nginx je nejlépe známý jako webový server, který lze také nastavit jako reverzní proxy. Lze jej použít ke správě síťového provozu nebo k vytvoření bezpečnostní vyrovnávací paměti mezi vaším serverem a internetem.

Výhody a nevýhody ELK Stack

Elastická sada má určité výhody a nevýhody.

Výhody

  • Elastický zásobník a komponenty lze zdarma vyzkoušet a používat.
  • ELK nabízí četné možnosti hostování, ať už on-premise nebo nasazené jako spravovaná služba.
  • Schopnost centralizovat protokolování ze složitých cloudových prostředí umožňuje pokročilé vyhledávání a vytváření korelací z více zdrojů na jediné platformě.
  • Analýza a vizualizace v reálném čase zkracují čas potřebný k objevování statistik a umožňují nepřetržité sledování.
  • Klientská podpora pro více programovacích jazyků, včetně JavaScriptu, Pythonu, Perlu, Go atd.

Nevýhody

  • Nasazení zásobníku je složitý proces a závisí na požadavcích. Podívejte se na náš tutoriál pro nasazení elastického stacku na Kubernetes.
  • Růst a údržba zásobníku ELK je nákladná a vyžaduje výpočetní techniku ​​a ukládání dat v závislosti na objemu dat a době ukládání.
  • Stabilita a dostupnost se stávají problematickými, protože objemy dat rostou kvůli neexistujícím limitům indexování.
  • Uchovávání a archivace dat vyžaduje více uzlů, výpočetní výkon a zdroje obecně.

Přehled elastického vyhledávání

Elasticsearch je jádrem Elastic Stack. Má dvě hlavní úlohy:

  • Ukládání a indexování dat.
  • Vyhledávač pro načítání dat.

Technické podrobnosti Elasticsearch zahrnují:

  • Robustní podpora programovacích jazyků pro klienty (Java, PHP, Ruby, C#, Python).
  • Používá REST API – Aplikace napsané pro Elasticsearch mají vynikající kompatibilitu s webovými aplikacemi.
  • Responzivní výsledky – Uživatelé vidí data téměř v reálném čase.
  • Distribuovaná architektura – Elasticsearch může běžet a propojovat se mezi mnoha různými servery. Elastic Stack lze snadno škálovat s rostoucí infrastrukturou.
  • Invertované indexování – Elasticsearch indexuje podle klíčových slov, podobně jako index v knize. To pomáhá urychlit dotazy na velké soubory dat.
  • Shards – Pokud jsou vaše data pro váš server příliš velká, Elasticsearch je může rozdělit na podmnožiny zvané Shards .
  • Nerelační (NoSQL) – Elasticsearch používá nerelační databázi, aby se vymanil z omezení ukládání strukturovaných/tabulkových dat.
  • Apache Lucene – Toto je základní vyhledávač, na kterém je založen Elasticsearch.

Přehled Logstash

Logstash je nástroj pro shromažďování a třídění dat z různých zdrojů. Logstash může oslovit vzdálený server, shromáždit konkrétní sadu protokolů a importovat je do Elasticsearch.

Umí třídit, filtrovat a organizovat data. Navíc obsahuje několik výchozích konfigurací, nebo si můžete vytvořit vlastní. To je zvláště užitečné pro strukturování dat způsobem, který je jednotný (nebo čitelný).

Technické vlastnosti Logstash:

  • Přijímá širokou škálu datových formátů a zdrojů – To pomáhá konsolidovat různé datové sady do jednoho centrálního umístění.
  • Manipuluje s daty v reálném čase – Při čtení dat ze zdrojů je Logstash analyzuje a okamžitě restrukturalizuje.
  • Flexibilní výstup – Logstash je vytvořen pro Elasticsearch, ale stejně jako mnoho projektů s otevřeným zdrojovým kódem jej lze překonfigurovat pro export do jiných nástrojů.
  • Podpora pluginů – Pro vylepšení funkcí Logstashe lze přidat širokou škálu doplňků.

Přehled Kibana

Elasticsearch můžete použít z příkazového řádku pouze tím, že jej máte nainstalovaný. Ale Kibana vám poskytuje grafické rozhraní pro intuitivnější generování a zobrazování dat.

Zde jsou některé technické podrobnosti:

  • Rozhraní řídicího panelu – Konfigurace grafů, zdrojů dat a přehledných metrik.
  • Konfigurovatelné nabídky – Vytvářejte vizualizace dat a nabídky pro rychlou navigaci nebo prozkoumávání sad dat.
  • Zásuvné moduly – Přidáním zásuvných modulů, jako je Canvas, můžete do svého grafického rozhraní přidat strukturovaná zobrazení a monitorování v reálném čase.

Naučte se používat Kibana v našem průvodci Kompletní výukový program Kibana k vizualizaci a dotazování na data.

Přehled Beats

Beats běží na systému, který monitoruje. Shromažďuje a odesílá data do cíle, jako je Logstash nebo Elasticsearch.

Pokud používáte menší soubor dat, můžete použít Beats k importu dat přímo do Elasticsearch.

Alternativně lze Beats použít k rozdělení dat do spravovatelných streamů, poté analyzovat do Logstash, aby je mohl číst Elasticsearch.

Pro jeden server můžete nainstalovat Elasticsearch, Kibana a několik Beats. Každý Beats shromažďuje data a posílá je do Elasticsearch. Výsledky pak zobrazíte v Kibaně.

Alternativně můžete Beats nainstalovat na několik vzdálených serverů a poté nakonfigurovat Logstash tak, aby shromažďoval a analyzoval data ze serverů. Tato data jsou odeslána do Elasticsearch a poté jsou viditelná v Kibaně.

Beat Snímání dat Popis
Auditbeat Údaje auditu Přeplňovaná verze Linuxu byla auditována. Může interagovat přímo s vaším systémem Linux namísto auditd proces. Pokud již máte auditovaná pravidla zavedena, Auditbeat načte z vaší stávající konfigurace.
Filebeat Soubory protokolu Čte a odesílá systémové soubory protokolu. Je to užitečné pro protokoly serveru, jako jsou hardwarové události nebo protokoly aplikací.
Functionbeat Cloudová data Odesílá data z bezserverové nebo cloudové infrastruktury. Pokud provozujete službu hostovanou v cloudu, použijte ji ke shromažďování dat z cloudu a exportu do Elasticsearch.
Tlukot srdce Dostupnost Zobrazuje dobu provozuschopnosti a dobu odezvy. Použijte to, abyste dohlíželi na kritické servery nebo jiné systémy, abyste se ujistili, že běží a jsou dostupné.
Journalbeat Systémové deníky Předává, centralizuje a odesílá systémové deníky.
Metricbeat Metriky Čte metrická data – využití CPU, paměť, využití disku, šířka pásma sítě. Použijte to jako přeplňovaný monitor systémových prostředků.
Packetbeat Síťový provoz Analyzuje síťový provoz. Použijte jej ke sledování latence a odezvy nebo vzorců používání a provozu.
Winlogbeat Protokoly událostí systému Windows Odešle data z protokolu událostí systému Windows. Sledujte události přihlášení, události instalace, dokonce i chyby hardwaru nebo aplikací.

Případy použití sady ELK

Monitorování protokolů v reálném čase z různých zdrojů poskytuje elastickému zásobníku mnoho kreativních případů použití.

  • Sledování zabezpečení a upozornění . Serverový monitorovací a výstražný systém je důležitou bezpečnostní aplikací pro ELK stack. Kontrola neobvyklých požadavků nebo detekce útoků na server pomocí výstražného systému v reálném čase může pomoci zmírnit škody, jakmile se objeví.
  • Řešení elektronického obchodu . Fulltextové vyhledávání, indexování, agregace a rychlé odpovědi vytvářejí lepší uživatelský zážitek. Vizuální sledování trendů a chování vyhledávání pomáhá zlepšit analýzu trendů.
  • Odstranění webu . Schopnost shromažďovat, indexovat a prohledávat nestrukturovaná data z různých zdrojů usnadňuje shromažďování a vizualizaci informací získaných z webu.
  • Monitorování provozu . Sledování údajů o návštěvnosti webu pomáhá indikovat přetížení jednoho serveru. Implementujte aplikaci pro vyrovnávání zátěže (jako Nginx), abyste přesunuli provoz na jiné servery.
  • Detekce chyb . Pokud nasazujete novou aplikaci, můžete u této aplikace sledovat chyby. Ty mohou pomoci rychle identifikovat oblasti pro opravu chyb nebo vylepšení návrhu aplikace.

Elastic Stack generuje data, která můžete použít k řešení problémů a činění spolehlivých obchodních rozhodnutí.


Ubuntu
  1. Jak nainstalovat Elasticsearch, Logstash a Kibana 4 na Ubuntu 14.04 / 15.04

  2. Úvod do monitorování pomocí ELK Stack

  3. Jak začít s překlady?

  1. Instalace zásobníku ELK na Ubuntu 14.04

  2. Jak začít s Juju?

  3. Začněte s cloudovými servery

  1. Kompletní výukový program Kibana pro vizualizaci a dotazování na data

  2. Jak nainstalovat ELK Stack (Elasticsearch, Logstash a Kibana) na Ubuntu 18.04 / 20.04

  3. Jak nainstalovat Elasticsearch, Logstash a Kibana (ELK Stack) na CentOS 8