Späť na blog

Ako nainštalovať Elastic Stack na Ubuntu 18.04

Ako nainštalovať Elastic Stack na Ubuntu 18.04

The Elastic Stack (predtým známy ako ELK Stack) je výkonné riešenie pre centralizované protokolovanie. Je to kolekcia open-source softvéru vyvinutá spoločnosťou Elastic. Umožňuje administrátorom vyhľadávať, analyzovať a vizualizovať logy generované z akéhokoľvek zdroja v akomkoľvek formáte. Ide o postup známy ako centralizované protokolovanie. Centralizované protokolovanie môže byť veľmi užitočné pri hľadaní konkrétnych problémov so servermi a aplikáciami, pretože umožňuje prehľadávať všetky logy z jedného miesta. Môže tiež pomôcť identifikovať problémy na viacerých serveroch koreláciou logov v konkrétnom čase.

V tomto návode sa dozviete, ako nainštalovať Elastic Stack na Ubuntu 18.04. Najprv postupujte podľa nášho návodu, aby ste jednoducho nainštalovali svoj Ubuntu server na CloudSigma.

The Elastic Stack na Ubuntu

The Elastic Stack sa skladá z nasledujúcich komponentov:

  • Elasticsearch: Distribuovaný RESTful vyhľadávací nástroj. Ukladá všetky zhromaždené dáta.
  • Logstash: Časť The Elastic Stack na spracovanie dát. Odosiela prichádzajúce dáta do Elasticsearch.
  • Kibana: Webové rozhranie, ktoré ponúka funkcie vyhľadávania a vizualizácie logov.
  • Beats: Ľahký, jednoúčelový odosielateľ dát. Môže posielať dáta z mnohých strojov do Logstash alebo Elasticsearch.

Každý komponent stacku budete musieť nainštalovať manuálne.

Požiadavky

Pred pokračovaním v inštalácii the Elastic Stack musia byť splnené viaceré systémové požiadavky:

Upozorňujeme, že veľkosť úložiska závisí od počtu logov, ktoré sa majú zhromažďovať a ukladať. Okrem toho The Elastic Stack narába aj s cennými informáciami o serveri. Na zaistenie bezpečnosti prenosu dát dôrazne odporúčame nakonfigurovať TLS/SSL certifikát. Postupujte podľa tohto návodu na získanie bezplatného SSL certifikátu na vašom Nginx serveri.

Okrem šifrovaného servera budú potrebné aj nasledujúce kroky:

  • An FQDN (fully qualified domain name). In this guide, it will be <domain>.
  • Oba DNS záznamy nasledujúcich domén smerujú na server.
    • A záznam s <domain> smerujúci na verejnú IP adresu servera.
    • A záznam s www.<domain> smerujúci na verejnú IP adresu servera.

Inštalácia Elastic Stack

  • Konfigurácia Elastic repozitára

Komponenty Elastic Stack nie sú dostupné priamo z oficiálneho repozitára Ubuntu. Našťastie Ubuntu umožňuje repozitárom 3. strán inštalovať balíky. Pre náš účel pridáme repozitár balíkov Elastic. Repozitár ponúka všetky najnovšie aktualizácie všetkých balíkov Elastic. Všetky balíky Elastic sú podpísané podpisovým kľúčom Elasticsearch, aby sa zabránilo podvrhnutiu balíkov. Najprv pridajte kľúč do kľúčenky Ubuntu:

Potom pridajte zoznam zdrojov Elastic do adresára „sources.list.d“. Je to vyhradený adresár, ktorý APT používa na vyhľadávanie nových zdrojov:

Nakoniec aktualizujte vyrovnávaciu pamäť APT:

Podľa oficiálnej dokumentácie sa odporúča nainštalovať každý z komponentov v poradí znázornenom v tomto návode. Tým sa zabezpečí, že komponenty, od ktorých každý produkt závisí, budú na správnom mieste.

  • Inštalácia a konfigurácia Elasticsearch

Po nakonfigurovaní Elastic repozitára je APT pripravený stiahnuť a nainštalovať všetky balíky Elastic. Spustením nasledujúceho príkazu nainštalujte Elasticsearch:

Teraz môžete nakonfigurovať Elasticsearch. Súbor „elasticsearch.yml“ poskytuje možnosti konfigurácie týkajúce sa klastrov, uzlov, ciest, sietí, pamäte, brány a ďalších. Väčšina z nich je v súbore predkonfigurovaná. Ďalej otvorte konfiguračný súbor Elasticsearch pomocou textového editora podľa vášho výberu:

Elasticsearch počúva na porte 9200 odkiaľkoľvek. Odporúčame obmedziť prístup k Elasticsearch zvonku, aby ste zabránili nepovolaným osobám čítať dáta alebo vypínať klastre Elasticsearch pomocou jeho REST API. Ak chcete obmedziť prístup k Elasticsearch a zvýšiť jeho bezpečnosť, odkomentujte nasledujúci riadok a nahraďte jeho hodnotu:

network.host: localhost

Ak má Elasticsearch počúvať na konkrétnej IP adrese, nahraďte „localhost“ cieľovou IP adresou. Toto je minimálna požiadavka na konfiguráciu pred spustením Elasticsearch. Uložte a zatvorte konfiguračný súbor. Ďalej spustite službu Elasticsearch. Spustenie Elasticsearch môže chvíľu trvať:

Potom musíte zabezpečiť, aby sa Elasticsearch spustil pri každom zavedení servera:

Nasledujúci príkaz overí, či služba Elasticsearch beží. Vyžaduje to iba odoslanie požiadavky HTTP:

sending an HTTP request

Odpoveď bude vyzerať nejako takto. Bude to odpoveď zobrazujúca základné informácie o lokálnom uzle.

Inštalácia a konfigurácia panela Kibana

Kibana je priamo dostupná z repozitára Elastic. Upozorňujeme, že Kibana by ste mali nainštalovať až po tom, čo ste už nainštalovali Elasticsearch. Za predpokladu, že repozitár je už k dispozícii, APT môže priamo stiahnuť a nainštalovať Kibana:

Po inštalácii povoľte a spustite službu Kibana:

V predvolenom nastavení je Kibana nakonfigurovaná tak, aby počúvala iba na „localhost“. Pre externý prístup vyžaduje konfiguráciu reverzného proxy. Tu bude Nginx reverzným proxy. Použite príkaz openssl na vytvorenie administrátorského používateľa Kibana. Bude to používateľské konto na prístup k webovému rozhraniu Kibana. V tomto príklade bude používateľské meno „kibana_admin“. Na zaistenie lepšej bezpečnosti odporúčame použiť neštandardné používateľské meno. Nasledujúci príkaz vytvorí administrátorského používateľa pre Kibana. Používateľské meno a heslo sa vygenerujú a uložia do súboru „htpasswd.users“. Nginx bude musieť byť nakonfigurovaný tak, aby používal toto používateľské meno a heslo:

Po výzve zadajte a potvrďte heslo. Toto heslo bude dôležité pre prístup k rozhraniu Kibana. Potom musíte vytvoriť súbor bloku servera Nginx. Pre demonštráciu to bude example.com. Môže to byť aj akýkoľvek iný popisný názov. Ak sú pre server nakonfigurované záznamy FQDN a DNS, názov súboru môže byť aj podľa FQDN:

Ak existuje nejaký predchádzajúci obsah, odstráňte ho a nahraďte ho nasledujúcimi riadkami kódu:

Uložte a zatvorte súbor. Vytvorte symbolický odkaz novej konfigurácie v adresári „sites-enabled“. Ak už existuje nejaký predošlý odkaz s rovnakým názvom súboru, tento krok nemusí byť potrebný:

Nasledujúci príkaz vyzve Nginx, aby skontroloval, či sa v ňom nenachádza nejaká syntaktická chyba:

Ak sa vyskytne nejaký syntaktický problém, uistite sa, že obsah súboru bol správne umiestnený. Potom reštartujte službu Nginx:

Povedzte UFW, aby povolil pripojenie k Nginx:

Kibana by teraz mala byť prístupná prostredníctvom FQDN alebo verejnej IP adresy servera Elastic Stack. Skontrolujte stavovú stránku servera Kibana:

status page

Inštalácia a konfigurácia Logstash

Hoci Beats môžu posielať dáta priamo do databázy Elasticsearch’s, na spracovanie dát sa odporúča použiť Logstash. Logstash dokáže zhromažďovať dáta a konvertovať ich do spoločného formátu pred exportovaním do inej databázy. Spustením nasledujúceho príkazu APT nainštalujte Logstash:

Po dokončení inštalácie je čas nakonfigurovať Logstash. Konfiguračné súbory Logstash sú vo formáte JSON. Všetky ich nájdete v adresári „/etc/logstash/conf.d“. Je užitočné predstaviť si Logstash ako pipeline, ktorá na jednom konci prijíma dáta, spracováva ich a odosiela do cieľa. Pipeline Logstash vyžaduje dva povinné prvky – input a output s jedným voliteľným prvkom – filter. Plugin input prijíma dáta, filter plugin spracováva dáta a output plugin zapisuje dáta do cieľa. Nasledujúci príkaz vytvorí konfiguračný súbor, ktorý nastaví Logstash pre vstup Filebeat:

Zadajte nasledujúcu konfiguráciu input. Popisuje vstup beats, ktorý bude počúvať na porte 5044 cez TCP:

Ďalším krokom je vytvorenie konfiguračného súboru s názvom „10-syslog-filter.conf“. Použijeme ho na nastavenie filtra pre syslogs (systémové logy):

Zadajte nasledujúci konfiguračný kód syslog. Tento kód je k dispozícii priamo z Elastic guide. Tento kód vysvetľuje konfiguráciu input pre Logstash:

Ďalší konfiguračný súbor sa bude zaoberať výstupom. Otvorte nový súbor s názvom „30-elasticsearch-output.conf“:

Zadajte nasledujúci kód. Tento kód vysvetľuje konfiguráciu výstupu pre Logstash:

Otestujte konfiguráciu Logstash. Potom spustite nasledujúci príkaz:

Ak sa nevyskytne žiadna chyba, Logstash vypíše nasledujúcu správu o úspechu. Ak nebol úspešný, uistite sa, že všetky konfiguračné súbory majú správne kódy. Nakoniec spustite a povoľte službu Logstash:

Teraz, keď Logstash úspešne beží a je plne nakonfigurovaný, nainštalujme Filebeat.

Inštalácia a konfigurácia Filebeat

Elastic Stack využíva odosielateľov dát, známych ako „Beats“, na zber dát z rôznych zdrojov a ich prenos do Logstash/Elasticsearch. Tu je stručný zoznam dostupných Beats od spoločnosti Elastic:

  • Filebeat: Zber/odosielanie logovacích súborov.
  • Metricbeat: Zber/odosielanie metrík zo systémov a služieb.
  • Packetbeat: Zber/analýza sieťových dát.
  • Winlogbeat: Zber protokolov udalostí systému Windows.
  • Auditbeat: Zber dát z auditovacieho frameworku Linuxu a monitorovanie integrity súborov.
  • Heartbeat: Monitorovanie dostupnosti služieb.

Pre účely tohto návodu budeme potrebovať Filebeat na odosielanie lokálnych logov do Elastic Stack. Najprv nainštalujte Filebeat:

Teraz môžete nakonfigurovať Filebeat. Najprv sa musí pripojiť k službe Logstash. Budeme používať ukážkovú konfiguráciu, ktorá sa dodáva s Filebeat. Otvorte konfiguračný súbor v textovom editore. Upozorňujeme, že keďže je súbor vo formáte YAML, dôležité je správne odsadenie:

Nájdite sekciu „output.elasticsearch“ a zakomentujte nasledujúce riadky. Tým sa Filebeat nakonfiguruje tak, aby posielal udalosti priamo do Elasticsearch/Logstash na ďalšie spracovanie. Ďalej prejdite na sekciu „output.logstash.“ Potom odkomentujte riadky:

output.logstash

Filebeat podporuje moduly, ktoré môžu rozšíriť jeho funkčnosť. V tomto návode použijeme systémový modul, ktorý zhromažďuje a analyzuje záznamy generované systémovou službou protokolovania bežných distribúcií Linuxu. Povoľte systémový modul Filebeat:

Nasledujúci príkaz Filebeat zobrazí zoznam všetkých povolených a zakázaných modulov:

V predvolenom nastavení je Filebeat nastavený tak, aby sledoval predvolené cesty pre syslog a autorizačné záznamy. Parametre modulov sú k dispozícii v konfiguračnom súbore „/etc/filebeat/modules.d/system.yml“.

Ďalším krokom je načítanie šablóny indexu do Elasticsearch. Index Elasticsearch označuje kolekciu dokumentov so spoločnými vlastnosťami. Každý index má svoj názov. Názov je potrebný pri vykonávaní rôznych operácií v ňom. Šablóna indexu sa automaticky použije pri každom vygenerovaní nového indexu. Ďalej načítajte šablónu:

Filebeat predvolene obsahuje ukážkový panel pre Kibana. Pomáha vizualizovať dáta Filebeat v Kibane. Pred použitím panela je však potrebné vytvoriť vzor indexu a načítať panely do Kibany. Počas načítavania panelov Filebeat kontaktuje Elasticsearch kvôli informáciám o verzii. Na načítanie panelov, keď je povolený Logstash, je potrebné mať zakázaný výstup Logstash a povolený výstup Elasticsearch. Nasledujúci príkaz vykoná túto úlohu:

Nakoniec môžete spustiť Filebeat:

Teraz je čas otestovať konfiguráciu Elastic Stack. Ak bola správne nakonfigurovaná, výstup bude vyzerať približne takto:

Elastic Stack configuration

Ak výstup hlási celkovo 0 zásahov, Elasticsearch nenačítava žiadne záznamy pod indexom, ktorý sme hľadali. To naznačuje, že v konfigurácii došlo k chybe. Ak bol výstup podľa očakávania, potom je Elastic Stack úspešne nakonfigurovaný.

Prehľad panelov Kibana

Teraz je čas preskúmať webové rozhranie Kibana, ktoré sme už nainštalovali. Najprv otvorte panel Kibana. Mal by sa nachádzať na adrese FQDN alebo verejnej IP adrese servera Elastic Stack:

Zadajte prihlasovacie údaje, ktoré sme vygenerovali predtým. Po prihlásení bude panel vyzerať takto:

Elastic stack home

V ľavom navigačnom paneli vyberte „Discover“. Potom vyberte vzor „filebeat-*“. Zobrazuje všetky logy zhromaždené za posledných 15 minút. Je možné vyhľadávať a prehliadať logy a prispôsobiť si nástenku:

customize the dashboard

V ľavom navigačnom paneli prejdite na Dashboard >> Filebeat System. Tu sú k dispozícii všetky ukážkové nástenky zo systémového modulu Filebeat.

V nasledujúcom príklade sú podrobne uvedené rôzne štatistiky založené na správach syslog:

Elastic Stack dashboard

Môže tiež nahlásiť, ktorí používatelia spustili príkazy pomocou sudo:

executed commands

Na záver vám Kibana dáva možnosť preskúmať mnoho ďalších funkcií, ako je tvorba grafov a filtrovanie, takže neváhajte a preskúmajte ich sami.

Záverečné myšlienky

Elastic Stack je výkonné riešenie na analýzu systémových logov. Majte na pamäti, že hoci akýkoľvek log alebo indexované dáta môžu byť odoslané do Logstash pomocou Beats, stáva sa užitočnejším, keď je analyzovaný a štruktúrovaný pomocou filtrov Logstash.

Príjemnú prácu s počítačom!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.