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.