Tutorial ELK Stack: Ce este Kibana, Logstash & Elasticsearch?
Ce este ELK Stack?
ELK Stack este o colecศie de trei produse open-source โ Elasticsearch, Logstashศi Kibana. Stack ELK oferฤ รฎnregistrare centralizatฤ pentru a identifica problemele cu serverele sau aplicaศiile. Vฤ permite sฤ cฤutaศi toate jurnalele รฎntr-un singur loc. De asemenea, ajutฤ la gฤsirea problemelor pe mai multe servere prin conectarea jurnalelor รฎntr-un interval de timp specific.
- E reprezintฤ ElasticSearch: folosit pentru stocarea jurnalelor
- L reprezintฤ LogStash: folosit atรขt pentru expediere, cรขt ศi pentru procesarea ศi stocarea jurnalelor
- K reprezintฤ Kibana: este a instrument de vizualizare (o interfaศฤ web) care este gฤzduitฤ prin Nginx sau Apache
ElasticSearch, LogStash ศi Kibana sunt toate dezvoltate, gestionate ศi รฎntreศinute de compania numitฤ Elastic.
ELK Stack este conceput pentru a permite utilizatorilor sฤ preia date din orice sursฤ, รฎn orice format ศi sฤ caute, sฤ analizeze ศi sฤ vizualizeze acele date รฎn timp real.
ELK Stack Architecturฤ
Acum, รฎn acest tutorial ELK, vom afla despre arhitectura ELK:
Iatฤ arhitectura simplฤ a stivei ELK

- Jurnale: Jurnalele de server care trebuie analizate sunt identificate
- Logstash: Colectaศi jurnalele ศi date despre evenimente. Chiar analizeazฤ ศi transformฤ datele
- ElasticSearch: Datele transformate din Logstash is Stocaศi, cฤutaศi ศi indexaศi.
- Kibana: Kibana foloseศte Elasticsearch DB pentru a explora, vizualiza ศi partaja
Cu toate acestea, este nevoie de รฎncฤ o componentฤ sau de colectare de date numitฤ Beats. Acest lucru l-a determinat pe Elastic sฤ redenumeascฤ ELK drept Elastic Stack.
รn timp ce aveศi de-a face cu cantitฤศi foarte mari de date, este posibil sฤ aveศi nevoie de Kafka, RabbitMQ pentru tamponare ศi rezistenศฤ. Pentru securitate, poate fi folosit nginx.
Acum, รฎn acest tutorial Elastic Stack, Sฤ analizฤm รฎn profunzime toate aceste produse open source:
Ce este Elasticsearch?
Elasticsearch este un Baza de date NoSQL. Se bazeazฤ pe motorul de cฤutare Lucene ศi este construit cu APIS RESTful. Oferฤ implementare simplฤ, fiabilitate maximฤ ศi gestionare uศoarฤ. De asemenea, oferฤ interogฤri avansate pentru a efectua analize detaliate ศi stocheazฤ toate datele central. Este util pentru a efectua o cฤutare rapidฤ a documentelor.
Elasticsearch vฤ permite, de asemenea, sฤ stocaศi, sฤ cฤutaศi ศi sฤ analizaศi un volum mare de date. Este folosit รฎn principal ca motor de bazฤ pentru a alimenta aplicaศiile care au รฎndeplinit cerinศele de cฤutare. A fost adoptat รฎn platformele motoarelor de cฤutare pentru aplicaศii web ศi mobile moderne. Pe lรขngฤ o cฤutare rapidฤ, instrumentul oferฤ, de asemenea, analize complexe ศi multe funcศii avansate.
Caracteristicile Cฤutฤrii elastice
- Serverul de cฤutare open source este scris folosind Java
- Folosit pentru a indexa orice tip de date eterogene
- Are interfaศฤ web REST API cu ieศire JSON
- Cฤutare text integral
- Cฤutare รฎn timp aproape real (NRT).
- Magazin de documente JSON fragmentat, replicat, cฤutat
- Magazin de documente distribuit fฤrฤ schemฤ, bazat pe REST ศi JSON
- Asistenศฤ รฎn mai multe limbi ศi geolocalizare
Avantajele Elasticsearch
- Stocaศi date fฤrฤ schemฤ ศi, de asemenea, creeazฤ o schemฤ pentru datele dvs
- Manipulaศi รฎnregistrarea de date dupฤ รฎnregistrare cu ajutorul API-urilor Multi-document
- Efectuaศi filtrarea ศi interogarea datelor pentru informaศii
- Bazat pe Apache Lucene ศi oferฤ API RESTful
- Oferฤ scalabilitate orizontalฤ, fiabilitate ศi capacitate multilocatฤ pentru utilizarea รฎn timp real a indexฤrii pentru a face cฤutarea mai rapidฤ
- Vฤ ajutฤ sฤ scalaศi vertical ศi orizontal
Termeni importanศi utilizaศi รฎn Elastic Search
Acum, รฎn acest tutorial ELK, sฤ รฎnvฤศฤm despre termenii cheie folosiศi รฎn ElasticSearch:
| Termen | Folosire |
|---|---|
| Cluster | Un cluster este o colecศie de noduri care deศin รฎmpreunฤ date ศi oferฤ capabilitฤศi de indexare ศi cฤutare unite. |
| Nod | Un nod este o Instanศฤ elasticsearch. Este creat cรขnd รฎncepe o instanศฤ elasticsearch. |
| index | Un index este o colecศie de documente care au caracteristici similare. de exemplu, date despre clienศi, catalog de produse. Este foarte util รฎn timpul efectuฤrii operaศiunilor de indexare, cฤutare, actualizare ศi ศtergere. Vฤ permite sฤ definiศi cรขt mai mulศi indici รฎntr-un singur cluster. |
| Document | Este unitatea de bazฤ a informaศiei care poate fi indexatฤ. Este exprimat รฎn pereche JSON (cheie: valoare). โ{โutilizatorโ: โnullconโ}'. Fiecare document este asociat cu un tip ศi un id unic. |
| ciob de sticlฤ | Fiecare index poate fi รฎmpฤrศit รฎn mai multe fragmente pentru a putea distribui date. Ciobul este partea atomicฤ a unui index, care poate fi distribuitฤ peste cluster dacฤ doriศi sฤ adฤugaศi mai multe noduri. |
Ce Este Logstash?
Logstash este instrumentul de colectare a datelor. Acesta colecteazฤ date intrฤri ศi alimenteazฤ Elasticsearch. Adunฤ toate tipurile de date din diferite surse ศi le face disponibile pentru utilizare ulterioarฤ.
Logstash poate unifica datele din surse disparate ศi poate normaliza datele รฎn destinaศiile dorite. Vฤ permite sฤ curฤศaศi ศi sฤ vฤ democratizaศi toate datele pentru analiza ศi vizualizarea cazurilor de utilizare.
Este format din trei componente:
- Intrare: transmiterea jurnalelor pentru a le procesa รฎn format uศor de รฎnศeles de maศinฤ
- Filtre: este un set de condiศii pentru a efectua o anumitฤ acศiune sau eveniment
- producศie: factor de decizie pentru eveniment sau jurnal procesat
Caracteristicile Logstash
Acum, รฎn acest tutorial LogStash, sฤ รฎnvฤศฤm despre caracteristicile LogStash:
- Evenimentele sunt trecute prin fiecare fazฤ folosind cozi interne
- Permite diferite intrฤri pentru jurnalele dvs
- Filtrarea/parsarea pentru jurnalele dvs
Avantajul Logstash
- Ofertele centralizeazฤ prelucrarea datelor
- Analizeazฤ o mare varietate de date ศi evenimente structurate/nestructurate
- ELK LogStash oferฤ pluginuri pentru a se conecta cu diverse tipuri de surse de intrare ศi platforme
Ce este Kibana?
Kibana este o vizualizare de date care completeazฤ stiva ELK. Acest instrument este folosit pentru vizualizarea documentelor Elasticsearch ศi ajutฤ dezvoltatorii sฤ aibฤ o perspectivฤ rapidฤ asupra acestora. Tabloul de bord Kibana oferฤ diverse diagrame interactive, date geospaศiale ศi grafice pentru a vizualiza รฎntrebฤri complexe.
Poate fi folosit pentru a cฤuta, vizualiza ศi interacศiona cu datele stocate รฎn directoarele Elasticsearch. Kibana te ajutฤ sฤ faci performanศe avansate analiza datelor ศi vizualizaศi-vฤ datele รฎntr-o varietate de tabele, diagrame ศi hฤrศi.
รn Kibana existฤ diferite metode de a efectua cฤutฤri pe datele dumneavoastrฤ.
Iatฤ cele mai comune tipuri de cฤutare:
| Tipul de cฤutare | Folosire |
|---|---|
| Cฤutฤri gratuite de text | Este folosit pentru a cฤuta un anumit ศir |
| Cฤutฤri la nivel de cรขmp | Este folosit pentru a cฤuta un ศir รฎntr-un anumit cรขmp |
| Declaraศii logice | Este folosit pentru a combina cฤutฤrile รฎntr-o declaraศie logicฤ. |
| Cฤutฤri de proximitate | Este folosit pentru a cฤuta termeni รฎn apropierea anumitor caractere. |
Acum, รฎn acest tutorial Kibana, sฤ รฎnvฤศฤm despre caracteristicile importante ale Kibana:
Caracteristicile Kinbana:
- Tabloul de bord frontal puternic, care este capabil sฤ vizualizeze informaศii indexate din clusterul elastic
- Permite cฤutarea รฎn timp real a informaศiilor indexate
- Puteศi cฤuta, vizualiza ศi interacศiona cu datele stocate รฎn Elasticsearch
- Executaศi interogฤri pe date ศi vizualizaศi rezultatele รฎn diagrame, tabele ศi hฤrศi
- Tabloul de bord configurabil pentru a tฤia ศi tฤia jurnalele de logstash รฎn elasticsearch
- Capabil sฤ furnizeze date istorice sub formฤ de grafice, diagrame etc.
- Tablouri de bord รฎn timp real care sunt uศor de configurat
- Kibana ElasticSearch permite cฤutarea รฎn timp real a informaศiilor indexate
Avantajele ศi dezavantajele Kinbana
- Vizualizare uศoarฤ
- Complet integrat cu Elasticsearch
- Instrument de vizualizare
- Oferฤ capabilitฤศi de analizฤ, diagrame, rezumare ศi depanare รฎn timp real
- Oferฤ o interfaศฤ instinctivฤ ศi uศor de utilizat
- Permite partajarea de instantanee ale jurnalelor cฤutate
- Permite salvarea tabloului de bord ศi gestionarea mai multor tablouri de bord
De ce analiza jurnalului?
รn infrastructurile de mediu bazate pe cloud, performanศa ศi izolarea sunt foarte importante. Performanศa maศinilor virtuale din cloud poate varia รฎn funcศie de sarcinile specifice, mediile ศi numฤrul de utilizatori activi din sistem. Prin urmare, fiabilitatea ศi defecศiunea nodului pot deveni o problemฤ semnificativฤ.
Platformฤ de gestionare a jurnalelor poate monitoriza toate problemele menศionate mai sus, precum ศi procesele jurnalelor sistemului de operare, NGINX, jurnalul serverului IIS pentru analiza traficului web, jurnalele aplicaศiilor ศi jurnalele pe AWS (Amazon servicii web).
Gestionarea jurnalelor รฎi ajutฤ pe inginerii DevOps, administratorul de sistem sฤ ia decizii de afaceri mai bune. Prin urmare, analiza jurnalelor prin Elastic Stack sau instrumente similare este importantฤ.
ELK vs. Splunk
| Elan | Splunk |
|---|---|
| Elk este un instrument open source | Splunk este un instrument comercial. |
| Elk stack nu oferฤ Solaris Portabilitate datoritฤ Kibana. | oferte Splunk Solaris Portabilitate. |
| Viteza de procesare este strict limitatฤ. | Oferฤ procese precise ศi rapide. |
| ELK este o stivฤ de tehnologie creatฤ cu combinaศia Elastic Search-Logstash- Kibana. | Splunk este un instrument proprietar. Oferฤ atรขt soluศii on-premise, cรขt ศi soluศii cloud. |
| รn cฤutarea ELK, analiza ศi vizualizarea vor fi posibile numai dupฤ ce stiva ELK este configuratฤ. | Splunk este un pachet complet de gestionare a datelor la dispoziศia dumneavoastrฤ. |
| Instrumentul ELK nu acceptฤ integrarea cu alte instrumente. | Splunk este un instrument util pentru configurarea integrฤrilor cu alte instrumente. |
Studii De Caz
Netflix
Netflix se bazeazฤ foarte mult pe stiva ELK. Compania foloseศte stiva ELK pentru a monitoriza ศi analiza jurnalul de securitate al operaศiunilor de service pentru clienศi. Le permite sฤ indexeze, sฤ stocheze ศi sฤ caute documente din mai mult de cincisprezece grupuri care cuprind aproape 800 de noduri.
Celebrul site de marketing pe reศelele sociale LinkedIn foloseศte stiva ELK pentru a monitoriza performanศa ศi securitatea. Echipa IT a integrat ELK cu Kafka pentru a-ศi susศine sarcina รฎn timp real. Operaศiunea lor ELK include peste 100 de clustere รฎn ศase centre de date diferite.
Tripwire
Tripwire este un sistem mondial de management al evenimentelor privind informaศiile de securitate. Compania foloseศte ELK pentru a sprijini analiza jurnalului de pachete de informaศii.
Mediu
Medium este o platformฤ faimoasฤ de publicare a blogurilor. Ei folosesc stiva ELK pentru a-ศi depana problemele de producศie. De asemenea, compania foloseศte ELK pentru a detecta DynamoDB fierbinte. Mai mult, folosind aceastฤ stivฤ, compania poate susศine 25 de milioane de cititori unici, precum ศi mii de postฤri publicate รฎn fiecare sฤptฤmรขnฤ.
Avantajele ศi dezavantajele stivei ELK
Avantaje
- ELK funcศioneazฤ cel mai bine atunci cรขnd jurnalele din diferite aplicaศii ale unei รฎntreprinderi converg รฎntr-o singurฤ instanศฤ ELK
- Oferฤ informaศii uimitoare pentru aceastฤ instanศฤ unicฤ ศi, de asemenea, eliminฤ nevoia de a vฤ conecta la sute de surse diferite de date de jurnal
- Instalare rapidฤ la locaศie
- Uศor de implementat Scale pe verticalฤ ศi pe orizontalฤ
- Elastic oferฤ o serie de clienศi lingvistici, inclusiv Ruby. Python. PHP, Perl, .NET, Java ศi JavaScript ศi multe altele
- Disponibilitatea bibliotecilor pentru diferite limbaje de programare ศi scripting
Dezavantaje
- Diferitele componente din stivฤ pot deveni dificil de manevrat atunci cรขnd treceศi la o configuraศie complexฤ
- Nu existฤ nimic ca รฎncercare ศi eroare. Astfel, cu cรขt faci mai multe, cu atรขt รฎnveศi mai mult pe parcurs
Rezumat
- รnregistrarea centralizatฤ poate fi utilฤ atunci cรขnd se รฎncearcฤ identificarea problemelor cu servere sau aplicaศii
- Stack-ul de server ELK este util pentru a rezolva problemele legate de sistemul centralizat de รฎnregistrare
- ELK stack este o colecศie de trei instrumente open source Elasticsearch, Logstash Kibana
- Elasticsearch este o bazฤ de date NoSQL
- Logstash este instrumentul de colectare a datelor
- Kibana este o vizualizare de date care completeazฤ stiva ELK
- รn infrastructurile de mediu bazate pe cloud, performanศa ศi izolarea sunt foarte importante
- รn ELK viteza de procesare a stivei este strict limitatฤ, รฎn timp ce Splunk oferฤ procese precise ศi rapide
- Netflix, LinkedIn, Tripware, Medium folosesc toate ELK stack pentru afacerea lor
- ELK Syslog funcศioneazฤ cel mai bine atunci cรขnd jurnalele din diferite aplicaศii ale unei รฎntreprinderi converg รฎntr-o singurฤ instanศฤ ELK
- Diferitele componente din stivฤ pot deveni dificil de manevrat atunci cรขnd treceศi la o configuraศie complexฤ
Consultaศi-ne รntrebฤri ศi rฤspunsuri la interviu ElasticSearch pentru candidaศii mai proaspeศi, precum ศi pentru cei experimentaศi.


