Elastické vyhledávání

Vizualizujte protokoly Apache pomocí ELK Stack

Vizualizujte protokoly Apache pomocí ELK Stack

Monitorování a analýza protokolů pro různé infrastruktury v reálném čase může být velmi zdlouhavá práce. Při práci se službami, jako jsou webové servery, které neustále zaznamenávají data, může být proces velmi složitý a téměř nemožný.

Znalost používání nástrojů ke sledování, vizualizaci a analýze protokolů v reálném čase vám může pomoci při sledování a odstraňování problémů a při sledování podezřelých systémových aktivit.

Tento výukový program bude diskutovat o tom, jak můžete použít jednu z nejlepších sbírek protokolů a analytických nástrojů v reálném čase - ELK. Pomocí ELK, běžně známých jako Elasticsearch, Logstash a Kibana, můžete shromažďovat, protokolovat a analyzovat data z webového serveru Apache v reálném čase.

Co je ELK Stack?

ELK je zkratka používaná k označení tří hlavních nástrojů open-source: Elasticsearch, Logstash a Kibana.

Elasticsearch je open-source nástroj vyvinutý k hledání shod ve velké kolekci datových sad pomocí výběru dotazovacích jazyků a typů. Jedná se o lehký a rychlý nástroj schopný snadno manipulovat s terabajty dat.

Logstash engine je spojení mezi serverem a Elasticsearch, což vám umožňuje shromažďovat data z výběru zdrojů do Elasticsearch. Nabízí výkonná rozhraní API, která lze snadno integrovat do aplikací vyvinutých v různých programovacích jazycích.

Kibana je poslední kousek ELK stacku. Jedná se o nástroj pro vizualizaci dat, který umožňuje vizuálně analyzovat data a generovat podrobné zprávy. Nabízí také grafy a animace, které vám mohou pomoci při interakci s vašimi daty.

Zásobník ELK je velmi výkonný a dokáže dělat neuvěřitelné věci v oblasti analýzy dat.

Ačkoli různé koncepty, o kterých pojednáme v tomto kurzu, vám poskytnou dobré znalosti o zásobníku ELK, zvažte další informace v dokumentaci.

Elasticsearch: https: // linkfy.do / Elasticsearch-Reference

Logstash: https: // linkfy.do / LogstashReference

Kibana: https: // linkfy.do / KibanaGuide

Jak nainstalovat Apache?

Než začneme instalovat Apache a všechny závislosti, je dobré si všimnout několika věcí.

Tento výukový program jsme otestovali na Debianu 10.6, ale bude fungovat také s jinými distribucemi Linuxu.

V závislosti na konfiguraci vašeho systému potřebujete oprávnění sudo nebo root.

Kompatibilita a použitelnost zásobníku ELK se může lišit v závislosti na verzi.

Prvním krokem je zajistit, aby byl váš systém plně aktualizován:

sudo apt-get aktualizace
sudo apt-get upgrade

Dalším příkazem je instalace webového serveru apache2. Pokud chcete nainstalovat minimální apache, odeberte dokumentaci a nástroje z níže uvedeného příkazu.

sudo apt-get install apache2 apache2-utils apache2-doc -y
sudo služba apache2 start

Nyní byste již měli mít ve svém systému spuštěný server Apache.

Jak nainstalovat Elasticsearch, Logstash a Kibana?

Nyní musíme nainstalovat ELK stack. Budeme instalovat každý nástroj samostatně.

Elasticsearch

Začněme instalací Elasticsearch. K jeho instalaci použijeme apt, ale stabilní verzi můžete získat z oficiální stránky ke stažení zde:

https: // www.elastický.co / soubory ke stažení / elasticsearch

Elasticsearch vyžaduje ke spuštění Javu. Naštěstí je nejnovější verze dodávána s balíčkem OpenJDK, což odstraňuje potíže s ruční instalací. Pokud potřebujete provést ruční instalaci, podívejte se na následující zdroj:

https: // www.elastický.co / guide / en / elasticsearch / reference / current / setup.html # verze jvm

V dalším kroku si pomocí příkazu musíme stáhnout a nainstalovat oficiální podpisový klíč Elastic APT:

wget -qO - https: // artefakty.elastický.co / GPG-KEY-elasticsearch | sudo apt-key přidat -

Než budete pokračovat, můžete před instalací vyžadovat balíček apt-transport-https (vyžadovaný pro balíčky poskytované přes https).

sudo apt-get install apt-transport-https

Nyní přidejte informace apt repo ke zdrojům.seznam.soubor d.

echo “deb https: // artefakty.elastický.co / balíčky / 7.x / apt stabilní hlavní “| sudo tee / etc / apt / sources.seznam.d / elastický-7.X.seznam

Poté aktualizujte seznam balíčků ve vašem systému.

sudo apt-get aktualizace

Nainstalujte Elasticsearch pomocí níže uvedeného příkazu:

sudo apt-get install elasticsearch

Po instalaci Elasticsearch spusťte a povolte spuštění při spuštění pomocí příkazů systemctl:

sudo systemctl daemon-reload
sudo systemctl povolit elasticsearch.servis
sudo systemctl spustit elasticsearch

Spuštění služby může chvíli trvat. Počkejte několik minut a pomocí příkazu potvrďte, že je služba v provozu:

sudo systemctl status elasticsearch.servis

Pomocí cURL otestujte, zda je k dispozici rozhraní Elasticsearch API, jak je uvedeno ve výstupu JSON níže:

curl -X ZÍSKAT "localhost: 9200 /?dosti"

"name": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"verze":
"number": "7.10.1 ",
"build_flavor": "výchozí",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820Z ",
"build_snapshot": false,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
„Tagline“: „Víte, pro vyhledávání“

Jak nainstalovat Logstash?

Nainstalujte balíček logstash pomocí příkazu:

sudo apt-get install logstash

Jak nainstalovat Kibanu?

Chcete-li nainstalovat kibanu, zadejte následující příkaz:

sudo apt-get install kibana

Jak konfigurovat Elasticsearch, Logstash a Kibana?

Zde je postup, jak nakonfigurovat zásobník ELK:

Jak konfigurovat Elasticsearch?

V Elasticsearch jsou data uspořádána do indexů. Každý z těchto indexů má jeden nebo více horizontálních oddílů. Shard je samostatný vyhledávací stroj používaný ke zpracování a správě indexů a dotazů pro podmnožinu v klastru v rámci Elasticsearch. Střípek funguje jako instance indexu Lucene.

Výchozí instalace Elasticsearch vytvoří pět střepů a jednu repliku pro každý index. Toto je dobrý mechanismus při výrobě. V tomto kurzu však budeme pracovat s jedním horizontálním oddílem a bez replik.

Začněte vytvořením šablony indexu ve formátu JSON. V souboru nastavíme počet shardů na jednu a nula replik pro shodu názvů indexů (vývojové účely).

V Elasticsearch odkazuje šablona indexu na to, jak dáváte Elasticsearch pokyn k nastavení indexu během procesu vytváření.

Uvnitř souboru šablony JSON (index_template.json), zadejte následující pokyny:


"šablona":"*",
"settings":
"index":
"number_of_shards": 1,
"number_of_replicas": 0


Pomocí cURL použijte konfiguraci json na šablonu, která se použije na všechny vytvořené indexy.

curl -X PUT http: // localhost: 9200 / _template / defaults -H 'Content-Type: application / json' -d @index_template.JSON
"potvrzeno": true

Po aplikaci Elasticsearch odpoví potvrzeným: pravdivým prohlášením.

Jak konfigurovat Logstash?

Aby Logstash shromažďoval protokoly z Apache, musíme jej nakonfigurovat tak, aby sledoval všechny změny v protokolech shromažďováním, zpracováním a ukládáním protokolů do Elasticsearch. K tomu je třeba nastavit cestu protokolu shromažďování v Logstash.

Začněte vytvořením konfigurace Logstash v souboru / etc / logstash / conf.d / apache.konf

vstup
soubor
path => '/ var / www / * / logs / access.log '
type => "apache"


filtr
grok
match => "message" => "% COMBINEDAPACHELOG"


výstup
elasticsearch

Nyní zajistěte povolení a spuštění služby logstash.

sudo systemctl povolit logstash.servis
sudo systemctl spustit logstash.servis

Jak povolit a nakonfigurovat Kibanu?

Chcete-li povolit Kibanu, upravte hlavní .yml konfigurační soubor umístěný v / etc / kibana / kibana.yml. Vyhledejte následující položky a odkomentujte je. Po dokončení použijte systemctl ke spuštění služby Kibana.

serveru.port: 5601
serveru.hostitel: „localhost“
sudo systemctl povolit kibanu.service && sudo systemctl start kibana.servis

Kibana vytváří indexové vzory na základě zpracovaných dat. Proto musíte sbírat protokoly pomocí Logstash a ukládat je do Elasticsearch, který může Kibana používat. Použijte curl ke generování protokolů z Apache.

Jakmile budete mít protokoly z Apache, spusťte Kibanu ve svém prohlížeči pomocí adresy http: // localhost: 5601, která spustí indexovou stránku Kibana.

V hlavní části musíte nakonfigurovat vzor indexu používaný Kibanou k hledání protokolů a generování zpráv. Ve výchozím nastavení používá Kibana vzor indexu logstash *, který odpovídá všem výchozím indexům generovaným programem Logstash.

Pokud nemáte žádnou konfiguraci, kliknutím na vytvořit spusťte prohlížení protokolů.

Jak zobrazit protokoly Kibana?

Jak budete pokračovat v provádění požadavků Apache, Logstash shromáždí protokoly a přidá je do Elasticsearch. Tyto protokoly můžete zobrazit v Kibaně kliknutím na možnost Objevit v levé nabídce.

Karta Objevit vám umožňuje zobrazit protokoly tak, jak je generuje server. Chcete-li zobrazit podrobnosti protokolu, jednoduše klikněte na rozevírací nabídku.

Přečtěte si a pochopte data z protokolů Apache.

Jak vyhledávat protokoly?

V rozhraní Kibana najdete vyhledávací lištu, která vám umožní vyhledávat data pomocí řetězců dotazu.

Příklad: stav: aktivní

Další informace o řetězcích dotazů ELK najdete zde:

https: // www.elastický.co / guide / en / elasticsearch / reference / 5.5 / query-dsl-query-string-query.html # syntaxe řetězce dotazu

Jelikož máme co do činění s protokoly Apache, jednou možnou shodou je stavový kód. Proto hledejte:

odpověď: 200

Tento kód vyhledá protokoly se stavovým kódem 200 (OK) a zobrazí je Kibaně.

Jak vizualizovat protokoly?

Vizuální řídicí panely můžete v Kibaně vytvořit výběrem karty Vizualizovat. Vyberte typ řídicího panelu, který chcete vytvořit, a vyberte svůj index vyhledávání. Výchozí nastavení můžete použít pro účely testování.

Závěr

V této příručce jsme probrali přehled toho, jak používat zásobník ELK ke správě protokolů. V těchto technologiích se však tento článek může zabývat ještě více. Doporučujeme prozkoumat na vlastní pěst.

Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...
Hry Vulkan pro uživatele Linuxu
Vulkan pro uživatele Linuxu
S každou novou generací grafických karet vidíme, že vývojáři her posouvají hranice grafické věrnosti a přibližují se k fotorealismu. Ale navzdory vešk...
Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...