Natrag na blog

Kako instalirati Elastic Stack na Ubuntu 18.04

Kako instalirati Elastic Stack na Ubuntu 18.04

Elastic Stack (prethodno poznat kao ELK Stack) moćno je rješenje za centralizirano bilježenje logova. To je zbirka softvera otvorenog koda koji je razvio Elastic. Omogućuje administratorima pretraživanje, analizu i vizualizaciju logova generiranih iz bilo kojeg izvora u bilo kojem formatu. To je praksa poznata kao centralizirano bilježenje logova. Centralizirano bilježenje logova može biti vrlo korisno pri pokušaju lociranja problema s poslužiteljima i aplikacijama jer omogućuje pretraživanje svih logova s jednog mjesta. Također može pomoći u identificiranju problema na više poslužitelja povezivanjem logova u određenom vremenu.

U ovom vodiču provjerite kako instalirati Elastic Stack na Ubuntu 18.04. Najprije slijedite naš vodič kako biste jednostavno instalirali svoj Ubuntu poslužitelj na CloudSigma.

Elastic Stack na Ubuntuu

Elastic Stack sastoji se od sljedećih komponenti:

  • Elasticsearch: distribuirana RESTful tražilica. Pohranjuje sve prikupljene podatke.
  • Logstash: Dio Elastic Stacka za obradu podataka. Šalje dolazne podatke u Elasticsearch.
  • Kibana: Web sučelje koje nudi značajke pretraživanja i vizualizacije logova.
  • Beats: Lagani prijenosnik podataka s jednom svrhom. Može slati podatke s brojnih računala u Logstash ili Elasticsearch.

Morat ćete ručno instalirati svaku komponentu stoga.

Preduvjeti

Prije nego što nastavite s instalacijom Elastic Stacka, potrebno je ispuniti nekoliko sistemskih zahtjeva:

Imajte na umu da količina prostora za pohranu ovisi o broju logova koje treba prikupiti i pohraniti. Osim toga, Elastic Stack također rukuje vrijednim informacijama o poslužitelju. Kako bi prijenos podataka bio siguran, preporučujemo konfiguriranje TLS/SSL certifikata. Slijedite ovaj vodič za dobivanje besplatnog SSL certifikata na vašem Nginx poslužitelju.

Uz šifrirani poslužitelj, bit će potrebni i sljedeći koraci:

  • FQDN (potpuno kvalificirani naziv domene). U ovom vodiču to će biti <domain>.
  • Oba DNS zapisa sljedećih domena usmjeravaju na poslužitelj.
    • A zapis s <domain> koji pokazuje na javni IP poslužitelja.
    • A zapis s www.<domain> koji pokazuje na javni IP poslužitelja.

Instalacija Elastic Stacka

  • Konfiguriranje Elastic repozitorija

Komponente Elastic Stacka nisu dostupne izravno iz službenog Ubuntu repozitorija. Srećom, Ubuntu dopušta repozitorije 3. strane za instalaciju paketa. Za našu svrhu, dodat ćemo repozitorij Elastic paketa. Repozitorij nudi sva najnovija ažuriranja paketa svih Elastic paketa. Svi Elastic paketi potpisani su ključem za potpisivanje Elasticsearcha kako bi se spriječilo lažiranje paketa. Prvo dodajte ključ u Ubuntu privjesak ključeva:

Zatim dodajte Elastic popis izvora u direktorij „sources.list.d”. To je namjenski direktorij koji APT koristi za traženje novih izvora:

Na kraju, ažurirajte APT predmemoriju:

Prema službenoj dokumentaciji, preporučuje se instalirati svaku od komponenti redoslijedom prikazanim u ovom vodiču. To osigurava da su komponente o kojima pojedini proizvod ovisi na pravom mjestu.

  • Instalacija i konfiguracija Elasticsearcha

Nakon što je Elastic repozitorij konfiguriran, APT je spreman za preuzimanje i instalaciju svih Elastic paketa. Pokrenite sljedeću naredbu za instalaciju Elasticsearcha:

Sada možete konfigurirati Elasticsearch. Datoteka „elasticsearch.yml” pruža konfiguracijske opcije o klasterima, čvorovima, putanjama, mrežama, memoriji, mrežnom prolazu i drugome. Većina ih dolazi unaprijed konfigurirana u datoteci. Zatim otvorite konfiguracijsku datoteku za Elasticsearch tekstualnim uređivačem po vašem izboru:

Elasticsearch sluša na portu 9200 s bilo kojeg mjesta. Preporučujemo da ograničite vanjski pristup Elasticsearchu kako biste spriječili vanjske korisnike da čitaju podatke ili gase Elasticsearch klastere pomoću njegovog REST API-ja. Da biste ograničili pristup Elasticsearchu i pojačali njegovu sigurnost, odkomentirajte sljedeći redak i zamijenite njegovu vrijednost:

network.host: localhost

Ako Elasticsearch treba slušati na određenoj IP adresi, zamijenite „localhost” s ciljanom IP adresom. Ovo je minimalni konfiguracijski zahtjev prije pokretanja Elasticsearcha. Spremite i zatvorite konfiguracijsku datoteku. Zatim pokrenite uslugu Elasticsearch. Pokretanje Elasticsearcha može potrajati nekoliko trenutaka:

Nakon toga morate osigurati da se Elasticsearch pokreće svaki put kada se poslužitelj podigne:

Sljedeća naredba provjerit će radi li usluga Elasticsearch. Sve što je potrebno jest slanje HTTP zahtjeva:

sending an HTTP request

Odgovor će izgledati otprilike ovako. To će biti odgovor koji prikazuje neke osnovne informacije o lokalnom čvoru.

Instalacija i konfiguracija Kibana nadzorne ploče

Kibana je izravno dostupna iz repozitorija Elastic. Imajte na umu da biste Kibanu trebali instalirati tek nakon što ste već instalirali Elasticsearch. Pod pretpostavkom da je repozitorij već dostupan, APT može izravno preuzeti i instalirati Kibanu:

Nakon instalacije, omogućite i pokrenite uslugu Kibana:

Prema zadanim postavkama, Kibana je konfigurirana da sluša samo „localhost”. Za vanjski pristup potrebna je konfiguracija obrnutog proxyja. Ovdje će Nginx biti obrnuti proxy. Upotrijebite naredbu openssl za stvaranje administratorskog korisnika Kibane. To će biti korisnički račun za pristup web sučelju Kibane. Ovdje će primjer korisničkog imena biti „kibana_admin”. Kako biste osigurali bolju sigurnost, preporučujemo upotrebu nestandardnog korisničkog imena. Sljedeća naredba stvorit će administratorskog korisnika za Kibanu. Korisničko ime i lozinka bit će generirani i pohranjeni u datoteci „htpasswd.users”. Nginx će morati biti konfiguriran za upotrebu korisničkog imena i lozinke:

Unesite i potvrdite lozinku na upit. Ova lozinka bit će važna za pristup sučelju Kibane. Nakon toga trebate stvoriti datoteku bloka poslužitelja Nginx. Za demonstraciju, to će biti example.com. To može biti i bilo koji drugi opisni naziv. Ako su za poslužitelj konfigurirani FQDN i DNS zapisi, naziv datoteke također može biti prema FQDN-u:

Ako postoji bilo kakav prethodni sadržaj, uklonite ga i zamijenite sljedećim redcima koda:

Spremite i zatvorite datoteku. Stvorite simboličku poveznicu nove konfiguracije u direktoriju „sites-enabled”. Ako već postoji neka prethodna poveznica s istim nazivom datoteke, ovaj korak možda neće biti potreban:

Sljedeća naredba zatražit će od Nginxa provjeru ima li sintaktičkih pogrešaka:

Ako postoji problem sa sintaksom, provjerite jesu li sadržaji datoteke ispravno postavljeni. Zatim ponovno pokrenite uslugu Nginx:

Recite UFW da dopusti povezivanje s Nginxom:

Kibana bi sada trebala biti dostupna putem FQDN-a ili javne IP adrese poslužitelja Elastic Stack. Provjerite stranicu statusa poslužitelja Kibana:

status page

Instalacija i konfiguracija Logstasha

Iako Beats može izravno slati podatke u bazu podataka Elasticsearch’a, preporučuje se korištenje Logstasha za obradu podataka. Logstash može prikupiti podatke i pretvoriti ih u zajednički format prije izvoza u drugu bazu podataka. Pokrenite sljedeću APT naredbu za instalaciju Logstasha:

Nakon što je instalacija dovršena, vrijeme je za konfiguraciju Logstasha. Konfiguracijske datoteke Logstasha su u JSON formatu. Sve ih možete pronaći u direktoriju „/etc/logstash/conf.d”. Korisno je razmišljati o Logstashu kao o cjevovodu koji prima podatke na jednom kraju, obrađuje ih i šalje na odredište. Logstash cjevovod zahtijeva dva obavezna elementa – input i output s jednim neobaveznim elementom – filter. Dodatak input prima podatke, dodatak filter obrađuje podatke, a dodatak output zapisuje podatke na odredište. Sljedeća naredba stvorit će konfiguracijsku datoteku koja će postaviti Logstash za Filebeat input:

Unesite sljedeću input konfiguraciju. Ona opisuje beats input koji će slušati na portu 5044 na TCP:

Sljedeći korak je stvaranje konfiguracijske datoteke pod nazivom „10-syslog-filter.conf”. Koristit ćemo je za postavljanje filtra za syslogs (sustavske zapise):

Unesite sljedeći kod za konfiguraciju syslog. Ovaj kod je dostupan izravno iz Elastic vodiča. Ovaj kod objašnjava input konfiguraciju za Logstash:

Sljedeća konfiguracijska datoteka bavit će se izlazom. Otvorite novu datoteku pod nazivom „30-elasticsearch-output.conf”:

Unesite sljedeći kod. Ovaj kod objašnjava izlaznu konfiguraciju za Logstash:

Testirajte konfiguraciju Logstasha. Zatim pokrenite sljedeću naredbu:

Ako nema pogreške, Logstash će ispisati sljedeću poruku o uspjehu. Ako nije bio uspješan, provjerite imaju li sve konfiguracijske datoteke ispravne kodove. Na kraju, pokrenite i omogućite uslugu Logstash:

Sada kada Logstash uspješno radi i potpuno je konfiguriran, instalirajmo Filebeat.

Instalacija i konfiguracija Filebeata

Elastic Stack koristi pošiljatelje podataka, poznate kao „Beats”, za prikupljanje podataka iz različitih izvora i njihov prijenos u Logstash/Elasticsearch. Evo kratkog popisa dostupnih Beats alata tvrtke Elastic:

  • Filebeat: Prikupljanje/slanje log datoteka.
  • Metricbeat: Prikupljanje/slanje metrika iz sustava i usluga.
  • Packetbeat: Prikupljanje/analiza mrežnih podataka.
  • Winlogbeat: Prikupljanje Windows zapisnika događaja.
  • Auditbeat: Prikupljanje podataka Linux revizijskog okvira i praćenje integriteta datoteka.
  • Heartbeat: Praćenje dostupnosti usluga.

Za potrebe ovog vodiča trebat će nam Filebeat za slanje lokalnih logova u Elastic Stack. Prvo instalirajte Filebeat:

Sada možete konfigurirati Filebeat. Prvo se mora povezati s Logstashom. Koristit ćemo primjer konfiguracije koji dolazi s Filebeatom. Otvorite konfiguracijsku datoteku u uređivaču teksta. Imajte na umu da je, budući da je datoteka u YAML formatu, pravilno uvlačenje važno:

Pronađite odjeljak „output.elasticsearch” i komentirajte sljedeće retke. To će konfigurirati Filebeat da izravno šalje događaje u Elasticsearch/Logstash za dodatnu obradu. Zatim prijeđite na odjeljak „output.logstash.” Zatim odkomentirajte retke:

output.logstash

Filebeat podržava module koji mogu proširiti njegovu funkcionalnost. U ovom vodiču koristit ćemo modul system koji prikuplja i analizira zapise koje generira usluga sistemskog zapisivanja uobičajenih Linux distribucija. Omogućite Filebeat modul system:

Sljedeća Filebeat naredba izlistat će sve omogućene i onemogućene module:

Prema zadanim postavkama, Filebeat je postavljen da prati zadane putanje za syslog i autorizacijske zapise. Parametri modula dostupni su u konfiguracijskoj datoteci „/etc/filebeat/modules.d/system.yml”.

Sljedeći korak je učitavanje predloška indeksa u Elasticsearch. Elasticsearch indeks označava zbirku dokumenata koji dijele slične značajke. Svaki indeks dolazi s nazivom. Naziv je potreban pri izvođenju raznih operacija unutar njega. Predložak indeksa automatski se primjenjuje svaki put kada se generira novi indeks. Zatim učitajte predložak:

Filebeat prema zadanim postavkama sadrži oglednu nadzornu ploču za Kibanu. Pomaže u vizualizaciji Filebeat podataka u Kibani. Međutim, prije korištenja nadzorne ploče potrebno je izraditi uzorak indeksa i učitati nadzorne ploče u Kibanu. Dok se nadzorne ploče učitavaju, Filebeat kontaktira Elasticsearch radi informacija o verziji. Za učitavanje nadzornih ploča, dok je Logstash omogućen, potrebno je onemogućiti Logstash izlaz i omogućiti Elasticsearch izlaz. Sljedeća naredba će obaviti posao:

Na kraju, možete pokrenuti Filebeat:

Sada je vrijeme za testiranje konfiguracije Elastic Stacka. Ako je ispravno konfiguriran, izlaz će izgledati otprilike ovako:

Elastic Stack configuration

Ako izlaz javlja ukupno 0 pogodaka, Elasticsearch ne učitava nikakve zapise pod indeksom koji smo tražili. To ukazuje na pogrešku u konfiguraciji. Ako je izlaz bio očekivan, tada je Elastic Stack uspješno konfiguriran.

Pregled Kibana nadzornih ploča

Sada je vrijeme da istražite web sučelje Kibane koje smo već instalirali. Prvo otvorite nadzornu ploču Kibane. Trebala bi se nalaziti na FQDN-u ili javnoj IP adresi poslužitelja Elastic Stacka:

Unesite vjerodajnice za prijavu koje smo prethodno generirali. Nakon prijave, nadzorna ploča će izgledati ovako:

Elastic stack home

Na lijevoj navigacijskoj traci odaberite „Discover”. Zatim odaberite uzorak „filebeat-*”. Prikazuje sve zapisnike prikupljene u posljednjih 15 minuta. Moguće je pretraživati i pregledavati zapisnike te prilagoditi nadzornu ploču:

customize the dashboard

Na lijevoj navigacijskoj traci idite na Dashboard >> Filebeat System. Ovdje su dostupne sve uzorčne nadzorne ploče iz Filebeatovog sistemskog modula.

U sljedećem primjeru detaljno su prikazane razne statistike temeljene na syslog porukama:

Elastic Stack dashboard

Također može izvijestiti koji su korisnici izvršili naredbe pomoću sudo:

executed commands

Naposljetku, Kibana vam pruža priliku da istražite many druge funkcionalnosti poput izrade grafikona i filtriranja, stoga slobodno sami istražujte.

Završne misli

Elastic Stack je moćno rješenje za analizu sistemskih zapisnika. Imajte na umu da, iako se bilo koji zapisnik ili indeksirani podaci mogu poslati u Logstash pomoću Beats, postaje korisniji kada se analizira i strukturira putem Logstash filtara.

Sretno računanje!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.