ELK Stack vodič: Kibana, Logstash & Elasticsearch
⚡ Pametni sažetak
ELK Stack kombinira tri alata otvorenog koda — Elasticsearch, Logstashi Kibana — za prikupljanje, pohranu, pretraživanje i vizualizaciju strojnih podataka, pružajući inženjerskim timovima centralizirano evidentiranje i analitiku u stvarnom vremenu za brže rješavanje problema na poslužiteljima i aplikacijama.

ELK Stack je jedno od najčešće korištenih rješenja otvorenog koda za centralizirano bilježenje i analitiku zapisa. Ovaj ELK Stack vodič objašnjava što Elasticsearch... Logstash, i Kibana, kako se ta tri alata uklapaju i gdje se platforma koristi u stvarnom praćenju i promatranju.
Što je ELK Stack?
The ELK stog je zbirka od tri proizvoda otvorenog koda — Elasticsearch, Logstashi Kibana. Pruža centralizirano evidentiranje koje vam pomaže u prepoznavanju problema s poslužiteljima ili aplikacijama omogućujući vam pretraživanje svih zapisnika na jednom mjestu. Također vam pomaže u povezivanju zapisnika na više poslužitelja unutar određenog vremenskog okvira.
- E je kratica za Elasticsearch: koristi se za pohranjivanje logova.
- L zalaže za Logstash: koristi se za brodping, obradu i pohranjivanje logova.
- K označava Kibanu: a alat za vizualizaciju (web sučelje) koje se hostira putem Nginxa ili Apachea.
Elasticsearch, Logstashi Kibana razvijeni su, njima upravlja i održava ih tvrtka pod nazivom Elastičan.
Zajedno, ELK Stack je osmišljen kako bi korisnicima omogućio uzimanje podataka iz bilo kojeg izvora, u bilo kojem formatu, a zatim pretraživanje, analizu i vizualizaciju tih podataka u stvarnom vremenu.
ELK stog Architektura
Sada kada znate što je stog, ovaj odjeljak objašnjava ELK arhitekturu i kako podaci teku između komponenti.
ELK cjevovod slijedi jasan slijed u kojem svaki alat ima namjenski zadatak:
- Dnevnici: Identificirani su zapisnici poslužitelja koje je potrebno analizirati.
- Logstash: Prikuplja zapisnike i podatke o događajima, zatim ih analizira i transformira.
- Elastično pretraživanje: Podaci transformirani od strane Logstash pohranjuje se, pretražuje i indeksira.
- kibana: Koristi bazu podataka Elasticsearch za istraživanje, vizualizaciju i dijeljenje uvida.
Međutim, često se dodaje i četvrta komponenta pod nazivom Beats za prikupljanje podataka. Beats su lagani shipperi instalirani na poslužiteljima, a njihovo dodavanje navelo je Elastic da preimenuje ELK u Elastic Stack.
Kada radite s vrlo velikim količinama podataka, možete dodati Kafku ili RabbitMQ ispred cjevovoda za međuspremnik i otpornost.
Za dodatnu sigurnost, obrnuti proxy poput Nginxa može se postaviti ispred steka.
Imajući na umu arhitekturu, sljedeći odjeljci detaljnije će se osvrnuti na svaki proizvod otvorenog koda u stogu.
Što je Elasticsearch?
Elasticsearch je a NoSQL baza podataka temeljen na tražilici Lucene i izgrađen s RESTful API-jima. Nudi jednostavno postavljanje, visoku pouzdanost i jednostavno upravljanje te centralno pohranjuje sve vaše podatke tako da možete pokretati napredne upite i brzo pretraživanje dokumenata.
Elasticsearch vam također omogućuje pohranu, pretraživanje i analizu velikih količina podataka. Najčešće se koristi kao temeljni mehanizam koji pokreće aplikacije sa zahtjevnim zahtjevima pretraživanja.
Budući da uz brzo pretraživanje dodaje analitiku i mnoge napredne značajke, Elasticsearch je široko prihvaćen u platformama za pretraživanje za moderne web i mobilne aplikacije.
Značajke Elasticsearcha
Elasticsearch nudi bogat skup mogućnosti za indeksiranje i pretraživanje podataka:
- Poslužitelj za pretraživanje otvorenog koda napisan u Java.
- Može indeksirati bilo koju vrstu heterogenih podataka.
- Pruža REST API web sučelje s JSON izlazom.
- Pretraživanje cijelog teksta.
- Pretraga u gotovo stvarnom vremenu (NRT).
- Razdvojeno, replicirano i pretraživo spremište JSON dokumenata.
- Distribuirano spremište dokumenata bez shema, temeljeno na REST-u i JSON-u.
- Višejezična i geolokacijska podrška.
Prednosti Elasticsearch-a
- Pohranjuje podatke bez sheme i može stvoriti shemu za vaše podatke.
- Omogućuje vam manipuliranje zapisima jednim po jednim pomoću API-ja za više dokumenata.
- Podržava filtriranje i ispitivanje podataka radi uvida.
- Temeljeno na Apache Luceneu i pruža RESTful API.
- Pruža horizontalnu skalabilnost, pouzdanost i mogućnost višestrukog zakupca za indeksiranje u stvarnom vremenu i brže pretraživanje.
- Pomaže vam skalirati i vertikalno i horizontalno.
Donja tablica objašnjava ključne pojmove s kojima ćete se susresti pri radu s Elasticsearchom:
| Termin | Upotreba |
|---|---|
| Cluster | Klaster je skup čvorova koji zajedno sadrže vaše podatke i pružaju kombinirane mogućnosti indeksiranja i pretraživanja. |
| Čvor | Čvor je jedna instanca Elasticsearcha. Stvara se kada se pokrene instanca Elasticsearcha. |
| indeks | Indeks je skup dokumenata koji dijele slične karakteristike, kao što su podaci o kupcima ili katalog proizvoda. Koristan je za operacije indeksiranja, pretraživanja, ažuriranja i brisanja, a možete definirati više indeksa u jednom klasteru. |
| dokument | Dokument je osnovna jedinica informacija koja se može indeksirati. Izražava se kao JSON par ključ-vrijednost, a svaki dokument je povezan s tipom i jedinstvenim ID-om. |
| krhotina | Svaki indeks može se podijeliti na nekoliko fragmenta radi distribucije podataka. Fragment je atomski dio indeksa i može se proširiti po klasteru kako dodajete više čvorova. |
Što je Logstash?
Logstash je alat za prikupljanje podataka u sustavu Elasticsearch. Prikuplja ulazne podatke i unosi ih u Elasticsearch, prikupljajući sve vrste podataka iz različitih izvora i čineći ih dostupnima za daljnju upotrebu.
Logstash može objediniti podatke iz različitih izvora i normalizirati ih u odredišta koja odaberete. To vam omogućuje čišćenje i demokratizaciju svih vaših podataka za širok raspon analitičkih i vizualizacijskih slučajeva upotrebe.
Sastoji se od tri komponente:
- Ulazni: prosljeđuje logove i pretvara ih u strojno čitljiv format.
- Filtri: skup uvjeta koji izvršavaju određenu radnju na događaju.
- Izlaz: donositelj odluka koji usmjerava svaki obrađeni događaj ili zapisnik.
Značajke Logstash
Logstash uključuje nekoliko značajki koje čine obradu zapisnika fleksibilnom:
- Događaji prolaze kroz svaku fazu koristeći interne redove čekanja.
- Omogućuje različite unose za vaše zapisnike.
- Podržava filtriranje i parsiranje vaših logova.
Prednosti Logstash
- Centralizira vašu obradu podataka.
- Analizira širok raspon strukturiranih i nestrukturiranih podataka i događaja.
- Nudi dodatke za povezivanje s mnogim vrstama ulaznih izvora i platformi.
Što je Kibana?
Kibana je alat za vizualizaciju podataka koji upotpunjuje ELK Stack. Koristi se za vizualizaciju Elasticsearch dokumenata i pomaže programerima da brzo dobiju uvid u svoje podatke putem interaktivnih dijagrama, geoprostornih podataka i grafova koji složene upite čine lakim za razumijevanje.
Kibanu možete koristiti za pretraživanje, pregled i interakciju s podacima pohranjenim u Elasticsearch indeksima. Također vam pomaže u izvođenju naprednih Analiza podataka i predstavite svoje podatke u raznim tablicama, grafikonima i kartama.
Kibana podržava nekoliko metoda za pretraživanje vaših podataka. Najčešće vrste pretraživanja navedene su u nastavku:
| Vrsta pretraživanja | Upotreba |
|---|---|
| Besplatna pretraživanja teksta | Koristi se za pretraživanje određenog niza znakova. |
| Pretrage na razini polja | Koristi se za pretraživanje niza znakova unutar određenog polja. |
| Logički iskazi | Koristi se za kombiniranje pretraga u logičku izjavu. |
| Pretrage blizine | Koristi se za pretraživanje pojmova unutar određene blizine znakova. |
Kibana također nudi niz moćnih značajki za istraživanje indeksiranih podataka:
- Moćna front-end nadzorna ploča koja vizualizira indeksirane informacije iz Elasticsearch klastera.
- Omogućuje pretraživanje indeksiranih informacija u stvarnom vremenu.
- Omogućuje vam pretraživanje, pregled i interakciju s podacima pohranjenim u Elasticsearchu.
- Izvršava upite nad podacima i vizualizira rezultate u grafikonima, tablicama i kartama.
- Konfigurabilna nadzorna ploča za rezanje i analizu Logstash zapisi u Elasticsearchu.
- Pruža povijesne podatke u obliku grafova, dijagrama i slično.
- Nudi nadzorne ploče u stvarnom vremenu koje je lako konfigurirati.
Prednosti i nedostaci Kibane
Kao i svaki alat, Kibana ima jasne prednosti koje objašnjavaju njezinu popularnost:
- Jednostavna vizualizacija podataka.
- Potpuno integriran s Elasticsearchom.
- Djeluje kao namjenski alat za vizualizaciju.
- Nudi analizu u stvarnom vremenu, izradu grafikona, sažimanje i otklanjanje pogrešaka.
- Pruža intuitivno, korisničko sučelje.
- Omogućuje dijeljenje snimaka zapisnika koje ste pretražili.
- Omogućuje spremanje i upravljanje više nadzornih ploča.
Također ima nekoliko ograničenja koja treba imati na umu:
- Radi samo s Elasticsearchom kao izvorom podataka.
- Izrada i podešavanje složenih nadzornih ploča može uključivati strmu krivulju učenja.
Zašto analiza dnevnika?
U infrastrukturama temeljenim na oblaku, performanse i izolacija su vrlo važne.
Performanse virtualnih strojeva u oblaku mogu varirati ovisno o specifičnim opterećenjima, okruženjima i broju aktivnih korisnika, tako da pouzdanost i kvar čvora mogu postati značajni problemi.
A platforma za upravljanje zapisnicima može pratiti sve ove probleme. Također može obrađivati zapisnike operativnog sustava, zapisnike web-poslužitelja Nginx i IIS za analizu prometa, zapisnike aplikacija i zapisnike generirane na AWS-u (Amazon Web usluge).
U konačnici, upravljanje zapisnicima pomaže DevOps inženjeri i sistemski administratori donose bolje odluke temeljene na podacima. Zato je analiza logova putem Elastic Stacka ili sličnih alata postala ključna.
ELK protiv Splunka
Često pitanje je kako se ELK Stack uspoređuje s Splunk, popularna komercijalna alternativa. Tablica u nastavku sažima glavne razlike:
| LOS | Splunk |
|---|---|
| ELK je alat otvorenog koda. | Splunk je komercijalni alat. |
| ELK ne nudi Solaris prenosivost zbog Kibane. | Splunk nudi Solaris prenosivost. |
| Brzina obrade je strogo ograničena. | Nudi točnu i brzu obradu. |
| ELK je tehnološki paket stvoren kombinacijom Elasticsearcha, Logstashi Kibana. | Splunk je vlasnički alat koji pruža i lokalna i cloud rješenja. |
| U ELK-u, pretraživanje, analiza i vizualizacija mogući su tek nakon što je stog postavljen. | Splunk je kompletan paket za upravljanje podacima odmah po instalaciji. |
| ELK nudi ograničenu ugrađenu integraciju s drugim alatima. | Splunk je koristan za postavljanje integracija s drugim alatima. |
Studije slučaja
Mnoge poznate tvrtke oslanjaju se na ELK Stack za pokretanje zapisivanja i analitike u velikim razmjerima. Primjeri u nastavku pokazuju kako se koristi u produkciji.
Netflix
Netflix uvelike se oslanja na ELK Stack za praćenje i analizu sigurnosnih zapisnika svojih operacija korisničke službe. Platforma omogućuje Netflix indeksirati, pohranjivati i pretraživati dokumente u više od petnaest klastera sastavljenih od otprilike 800 čvorova.
Profesionalna mrežna stranica LinkedIn koristi ELK Stack za praćenje performansi i sigurnosti. Njihov tim integrirao je ELK s Kafkom za rukovanje opterećenjem u stvarnom vremenu, a operacija se proteže na više od 100 klastera u šest podatkovnih centara.
Tripwire
Tripwire, globalni pružatelj usluga upravljanja sigurnosnim informacijama i događajima (SIEM), koristi ELK Stack za podršku analizi zapisnika informacijskih paketa.
Srednji
Medium, popularna platforma za objavljivanje blogova, koristi ELK Stack za otklanjanje pogrešaka u produkciji i otkrivanje DynamoDB vruće točke. Stack pomaže tvrtki da podrži 25 milijuna jedinstvenih čitatelja i tisuće novih objava svaki tjedan.
Prednosti i nedostaci ELK Stacka
Prednosti
ELK Stack nudi nekoliko prednosti koje objašnjavaju njegovu široku primjenu:
- Najbolje funkcionira kada se zapisnici iz različitih aplikacija poduzeća konvergiraju u jednu ELK instancu.
- Pruža bogat uvid iz te jedne instance i uklanja potrebu za prijavom u stotine zasebnih izvora podataka.
- Brza instalacija na licu mjesta.
- Jednostavno postavljanje i skaliranje i vertikalno i horizontalno.
- Elastic nudi mnogo jezičnih klijenata, uključujući Ruby, Python, PHP, Perl, .NET, Javai JavaSkripta.
- Biblioteke su dostupne za mnoge programske i skriptne jezike.
Nedostaci
Unatoč svojim prednostima, ELK Stack ima nekoliko nedostataka koje treba uzeti u obzir:
- Različite komponente mogu postati teške za upravljanje kako prelazite na složeniju postavku.
- Postoji stvarna krivulja učenja, stoga očekujte pokušaje i pogreške dok stječete iskustvo.


