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

ELK Stack Architecturฤƒ
ELK Stack Architecturฤƒ
  • 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.

ELK Stack Architecturฤƒ cu Beats

รŽ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.

ELK Stack Architecturฤƒ

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.

LinkedIn

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.

Rezumaศ›i aceastฤƒ postare cu: