Proč a jak nainstalovat Elasticsearch?
Elasticsearch je distribuovaný vyhledávací a analytický nástroj, který centrálně ukládá vaše data, takže můžete vyhledávat, indexovat a analyzovat data všech tvarů a velikostí.
Elasticsearch pomůže s rychlejším vyhledáváním, nad kterým máte kontrolu a vidíte, jaká data, stránky nebo produkty se hledají nejvíce. Díky tomu určíte, na co byste se měli soustředit a optimalizovat.
Ať už hledáte akce z konkrétní IP adresy, analyzujete prudký nárůst požadavků na transakce nebo hledáte pizzu v okruhu dvou kilometrů, tak tyto problémy se dají vyřešit datům. Elasticsearch vám umožní snadno ukládat, vyhledávat a analyzovat data v jakémkoliv měřítku.
VPS Centrum
Vyzkoušejte zdarma naši aplikaci pro správu serveru a domén. Budete si připadat jako zkušený administrátor.
Na co můžete Elasticsearch použít?
- Monitoring logů – Od systému, MySQL až po Apache
- Monitoring infrastruktury – Servery, Docker, Kubernetes, Aplikace
- APM – Hlídejte výkonnost vaší aplikace
- Uptime – Monitoring real-time dostupnost vašich systémů
- Site Search – Jednoduše vytvořte pokročilé vyhledávání na vaší stránce
- App Search – Vyhledávejte napříč dokumenty, geo, daty a i přímo ve vaší aplikaci
- Maps – Vyhledávejte lokace v datech real-time
- SIEM – Interaktivní vyhledávání a automatické vyhledávání bezpečnostních hrozeb
- Endpoint Security – Zabraňte a vyhledávejte bezpečností hrozby
Elasticsearch je opravdu rychlý
Když dostanete odpovědi okamžitě, váš vztah s daty se změní. Můžete si dovolit iterovat a pokrýt více půdy.Iterace v matematice znamená proces opakovaného použití funkce s cílem přiblížení se, dosáhnutí cíle či výsledku. Každé opakování procesu je taktéž nazváno iterací a výsledky z jedné iterace se použijí jako vstup pro další iteraci.
Implementovali převrácené indexy s převaděči konečných stavů pro fulltextové dotazování, KDB stromy pro ukládání číselných a geografických dat a implementovali uložiště sloupců pro jednoduchou a rychlou analýzu dat.
Indexace je postup, při kterém jsou dokumenty uloženy do invertovaného indexu. Díky tomu jsou uspořádány důležité termíny v základním tvaru, seřazeny podle abecedy. To pomůže s rychlejším vyhledáváním, protože se nemusí prohledávat celý dokument, ale pouze ty opravdu důležité věci. Ty si můžete definovat, řadit podle vašich potřeb atd.
V IT je KDB-strom označován, jako datová struktura pro dělení vyhledávacího prostoru. Jeho cílem je poskytnout efektivitu vyhledávání a zároveň poskytnout blokově orientované úložiště pro optimalizaci přístupů do externí paměti. To je užitečné pro úkoly, jako je vyhledávání rozsahů a vícerozměrné databázové dotazy.
Pro detailnější popis v češtině doporučujeme seriál o Elasticsearchu od Luďka Veselého.
Kolik Elasticsearch stojí?
Elasticsearch je open source, takže je zdarma. Můžete s ním vyvíjet svou aplikaci aniž byste museli něco platit. Celý kód je ve veřejném repozitáři.
Samozřejmě vývoj něco stojí, a tak nabízí enterprise řešení, které využívá např. Netflix, Uber, Slack nebo i Microsoft. Mají nové funkce ve formě Machine learningu, mezi clusterové replikace, snapsshoty atd.
Freelo - Nástroj na řízení úkolů a projektů
Přidej se, pozvi svůj tým a klienty, rozděl práci a sleduj, jak se úkoly dají do pohybu.
Elasticsearch můžete využívat i v jejich cloudu, kde cena začíná na 16 USD / měsíc a následně stačí Elastic propojit se svou aplikací. Záleží, co potřebujete, ale většina webů i aplikaci si vystačí s Free verzi, kterou si teď ukážeme.
Jak nainstalovat Elasticsearch na Debian?
Budeme k tomu využívat naše virtuální servery s VPS Centrem, které běží na systému Debian a stejně provedete instalaci i na Ubuntu.
Nejdříve si stáhneme balíček JDK (Java Development Kit)
aptitude install default-jdk
Stáhneme si GPG klíč a vložíme repozitář k ES.
wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add –
sh -c ‚echo „deb https://artifacts.elastic.co/packages/7.x/apt stable main“ > /etc/apt/sources.list.d/elastic-7.x.list‘
Aktualizujeme repozitáře v Debianu a můžeme přejít k instalaci pomocí příkazů:
aptitude update
aptitude install elasticsearch
A teď už stačí Elasticsearch aktivovat pomocí příkazu:
systemctl enable elasticsearch.service –now
Teď zkontrolujeme, jestli všechno v pořádku běží. Defaultně ES naslouchá na portu 9200.
curl -X GET „localhost:9200/“
Měli byste vidět takovýto výstup. Verze, server, apod.
Co se týče bezpečnosti, tak pokud máte Elasticsearch jen lokálně, a když VPS s nikým nesdílíte, můžete instalaci takhle nechat. Pokud potřebujete větší bezpečnost, tak se musí nainstalovat a nakonfigurovat “xpack”. Ten bohužel způsobuje i řadu problémů. Tak je to pouze na vás, pro jakou variantu se rozhodnete.
Konfigurační soubory
Elasticsearch má 3 konfigurační soubory:
- /etc/elasticsearch/elasticsearch.yml – pro konfiguraci ES
- /etc/elasticsearch/jvm.options – pro nastavení JVM (Java Virtual Machine)
- /etc/elasticsearch/log4j2.properties – pro konfiguraci logování ES
Nejvíce se bude hodit elasticsearch.yml, kde můžete změnit port, cesty k datům a logům, nastavit síť a bránu a samozřejmě změnit název clusteru pokud bude potřeba.
Jak nainstalovat konkrétní verzi Elasticsearche?
Ještě si ukážeme, jak instalovat konkrétní verzi Elasticsearche např. 7.4.0.
Nejjednoduší způsob, je stáhnout požadovanou verzi balíčku.
My chceme Elasticsearch 7.4.0, takže jsme na SSH provedli příkaz:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-amd64.deb wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-amd64.deb.sha512
Ověříme, jestli SHA klíče sedí
shasum -a 512 -c elasticsearch-7.4.0-amd64.deb.sha512
elasticsearch-{version}-amd64.deb: OK ### Měli bychom dostat takovýto výstup
Poté balíček nainstalujeme, spustíme ES a zkontrolujeme, jestli běží.
dpkg -i elasticsearch-7.4.0-amd64.deb systemctl start elasticsearch.service systemctl status elasticsearch.service
Můžeme ještě ověřit verzi a chod ES pomocí příkazu
curl -X GET "localhost:9200/"
A je hotovo.
Poslední trik, který se může hodit, tak je pozastavení automatických aktualizací. Už jsme několikrát řešili, že po aktualizaci nefunguje. Aktualizace pozastavíte těmito příkazy:
aptitude hold elasticsearch
apt-mark hold elasticsearch
Posobota – Přednáška o Elasticsearch
Samozřejmě instalací to teprve začíná. Pro lepší představu, jak můžete ES využívat a nakonfigurovat doporučujeme záznam z klasické pre-covid Posoboty.
Kibana + Elasticsearch
Pro snazší práci s Elasticem je dobré nainstalovat další aplikaci – Kibana. Ta práci znatelně usnadní. Kibana je grafické rozhraní, které se umí propojit a dokáže nám ukázat data v přívětivější podobě. Dokáže lépe vyhledávat v uložených datech, vytvářet vizualizace grafů a tabulek a vytvoření komplexních dashboardů.
Díky Kibaně získáte
- Přehlednou analýzu logů
- Monitoring infrastruktury
- APM – Application Performance Monitoring
- Přehled bezpečnostních akcí
- Business analytics
To na jednu monitorovací aplikaci ujde. V dalším článku, se dozvíte, jak ji správně nainstalovat na naše servery s VPS Centrem.