ELK Stacki õpetus: mis on Kibana, Logstash & Elasticsearch?

Mis on ELK Stack?

. ELK virn on kolme avatud lähtekoodiga toote kogumik – Elasticsearch, Logstashja Kibana. ELK pinu pakub tsentraliseeritud logimist serverite või rakendustega seotud probleemide tuvastamiseks. See võimaldab teil otsida kõiki palke ühest kohast. Samuti aitab see leida probleeme mitmes serveris, ühendades logid teatud aja jooksul.

  • E tähistab ElasticSearchi: kasutatakse palkide hoidmiseks
  • L tähistab LogStash: kasutatakse nii palkide saatmiseks kui ka töötlemiseks ja ladustamiseks
  • K tähistab Kibana: on a visualiseerimistööriist (veebiliides), mida majutatakse Nginxi või Apache'i kaudu

ElasticSearchi, LogStashi ja Kibana arendab, haldab ja hooldab ettevõte nimega Elastic.

ELK Stack on loodud selleks, et võimaldada kasutajatel võtta andmeid mis tahes allikast ja mis tahes vormingus ning neid andmeid reaalajas otsida, analüüsida ja visualiseerida.

ELK virn Architektuur

Nüüd selles ELK pinu õpetuses õpime tundma ELK arhitektuuri:

Siin on ELK stacki lihtne arhitektuur

ELK virn Architektuur
ELK virn Architektuur
  • Logid: Tuvastatakse serveri logid, mida tuleb analüüsida
  • Logstash: Koguge logide ja sündmuste andmeid. See isegi sõelub ja teisendab andmeid
  • ElasticSearch: Teisendatud andmed alates Logstash is Store, Otsi ja indekseeritud.
  • Kibana: Kibana kasutab uurimiseks, visualiseerimiseks ja jagamiseks Elasticsearch DB-d

Siiski on vaja veel ühte komponenti või andmete kogumist nimega Beats. Selle tulemusel nimetas Elastic ELK ümber Elastic Stackiks.

ELK virn Architektuur koos Beatsiga

Väga suurte andmemahtudega tegelemisel võib puhverduse ja vastupidavuse tagamiseks vaja minna Kafkat, RabbitMQ-d. Turvalisuse huvides võib kasutada nginxi.

ELK virn Architektuur

Nüüd selles elastse virna õpetuses Tutvustame kõiki neid avatud lähtekoodiga tooteid:

Mis on Elasticsearch?

Elasticsearch on a NoSQL andmebaas. See põhineb Lucene'i otsingumootoril ja on ehitatud RESTful APIS-iga. See pakub lihtsat juurutamist, maksimaalset töökindlust ja lihtsat haldamist. See pakub ka täpsemaid päringuid detailanalüüsi tegemiseks ja salvestab kõik andmed tsentraalselt. See on abiks dokumentide kiireks otsimiseks.

Elasticsearch võimaldab ka salvestada, otsida ja analüüsida suurt hulka andmeid. Seda kasutatakse enamasti otsingunõudeid täitnud rakenduste mootorina. See on kasutusele võetud tänapäevaste veebi- ja mobiilirakenduste otsingumootoriplatvormidel. Lisaks kiirele otsingule pakub tööriist ka keerulist analüüsi ja palju täiustatud funktsioone.

Elastse otsingu omadused

  • Avatud lähtekoodiga otsinguserver on kirjutatud kasutades Java
  • Kasutatakse igasuguste heterogeensete andmete indekseerimiseks
  • Sellel on REST API veebiliides JSON-väljundiga
  • Täistekstiotsing
  • Reaalajas (NRT) otsing
  • Jagatud, kopeeritud, otsitav, JSON-dokumentide pood
  • Skeemivaba, REST- ja JSON-põhine hajutatud dokumendipood
  • Mitme keele ja geograafilise asukoha tugi

Elasticsearchi eelised

  • Salvestage skeemivabad andmed ja loob ka teie andmete jaoks skeemi
  • Manipuleerige oma andmekirje kaupa mitme dokumendi API-de abil
  • Tehke oma andmete filtreerimine ja päringute tegemine statistika saamiseks
  • Põhineb Apache Lucene'il ja pakub RESTful API-d
  • Pakub horisontaalset skaleeritavust, töökindlust ja mitme rentniku võimalust indekseerimise reaalajas kasutamiseks, et muuta see otsimise kiiremaks
  • Aitab mõõta vertikaalselt ja horisontaalselt

Elastic Searchis kasutatavad olulised terminid

Nüüd selles ELK õpetuses tutvume ElasticSearchis kasutatavate võtmeterminitega:

Termin Kasutus
Cluster Klaster on sõlmede kogum, mis koos hoiavad andmeid ja pakuvad ühendatud indekseerimis- ja otsinguvõimalusi.
sõlme Sõlm on elastse otsingu eksemplar. See luuakse elastsearchi eksemplari alguses.
indeks Indeks on dokumentide kogum, millel on sarnased omadused. nt kliendiandmed, tootekataloog. See on väga kasulik indekseerimise, otsimise, värskendamise ja kustutamise toimingute tegemisel. See võimaldab teil määratleda nii palju indekseid ühes klastris.
Dokument See on teabe põhiühik, mida saab indekseerida. Seda väljendatakse JSON-i (võti: väärtus) paaris. '{“kasutaja”: “nullcon”}'. Iga dokument on seotud tüübi ja kordumatu ID-ga.
Shard Andmete levitamiseks saab iga indeksi jagada mitmeks killuks. Kild on indeksi aatomosa, mida saab klastri vahel jaotada, kui soovite rohkem sõlmi lisada.

Mis on Logstash?

Logstash on andmete kogumise torujuhtme tööriist. See kogub andmeid ja edastab need Elasticsearchi. See kogub erinevat tüüpi andmeid erinevatest allikatest ja teeb need edasiseks kasutamiseks kättesaadavaks.

Logstash saab ühendada erinevatest allikatest pärit andmeid ja normaliseerida andmed soovitud sihtkohtadesse. See võimaldab teil puhastada ja demokratiseerida kõiki oma andmeid analüüsiks ja kasutusjuhtude visualiseerimiseks.

See koosneb kolmest komponendist:

  • Sisend: logide edastamine, et töödelda need masinale arusaadavas vormingus
  • Filtrid: see on tingimuste kogum konkreetse toimingu või sündmuse sooritamiseks
  • Väljund: töödeldud sündmuse või logi otsustaja

Tunnused Logstash

Nüüd selles LogStashi õpetuses tutvume LogStashi funktsioonidega:

  • Sündmused edastatakse igast faasist sisemiste järjekordade abil
  • Võimaldab teie logide jaoks erinevaid sisendeid
  • Teie logide filtreerimine/parsimine

Eelis Logstash

  • Pakkumised tsentraliseerivad andmetöötluse
  • See analüüsib suurt hulka struktureeritud/struktureerimata andmeid ja sündmusi
  • ELK LogStash pakub pluginaid erinevate sisendallikate ja platvormidega ühenduse loomiseks

Mis on Kibana?

Kibana on andmete visualiseerimine, mis lõpetab ELK virna. Seda tööriista kasutatakse Elasticsearchi dokumentide visualiseerimiseks ja see aitab arendajatel sellest kiiret ülevaadet saada. Kibana armatuurlaud pakub erinevaid interaktiivseid diagramme, georuumilisi andmeid ja graafikuid keerukate päringute visualiseerimiseks.

Seda saab kasutada Elasticsearchi kataloogides salvestatud andmete otsimiseks, vaatamiseks ja nendega suhtlemiseks. Kibana aitab teil esineda edasijõudnutele andmete analüüs ja visualiseerida oma andmeid mitmesugustes tabelites, diagrammides ja kaartides.

Kibanas on teie andmete põhjal otsingute tegemiseks erinevad meetodid.

Siin on kõige levinumad otsingutüübid:

Otsingu tüüp Kasutus
Vaba tekstiotsingud Seda kasutatakse konkreetse stringi otsimiseks
Väljatasandi otsingud Seda kasutatakse stringi otsimiseks kindlal väljal
Loogilised väited Seda kasutatakse otsingute ühendamiseks loogiliseks lauseks.
Läheduse otsingud Seda kasutatakse terminite otsimiseks kindla tähemärgi läheduses.

Nüüd selles Kibana õpetuses tutvume Kibana oluliste funktsioonidega:

Kinbana omadused:

  • Võimas esiosa armatuurlaud, mis suudab visualiseerida elastsest klastrist pärinevat indekseeritud teavet
  • Võimaldab indekseeritud teabe reaalajas otsingut
  • Saate Elasticsearchis salvestatud andmeid otsida, vaadata ja nendega suhelda
  • Käivitage andmete päringuid ja visualiseerige tulemusi diagrammides, tabelites ja kaartides
  • Konfigureeritav armatuurlaud logistash palkide viilutamiseks ja tükeldamiseks elasticsearchis
  • Võimaldab esitada ajaloolisi andmeid graafikute, diagrammide jms kujul.
  • Reaalajas armatuurlauad, mida on lihtne konfigureerida
  • Kibana ElasticSearch võimaldab reaalajas otsida indekseeritud teavet

Kinbana plussid ja miinused

  • Lihtne visualiseerimine
  • Täielikult integreeritud Elasticsearchiga
  • Visualiseerimistööriist
  • Pakub reaalajas analüüsi, diagrammi koostamise, kokkuvõtete tegemise ja silumise võimalusi
  • Pakub instinktiivset ja kasutajasõbralikku liidest
  • Võimaldab jagada läbiotsitud logide hetktõmmiseid
  • Lubab armatuurlaua salvestada ja mitut armatuurlauda hallata

Miks logianalüüs?

Pilvepõhise keskkonna infrastruktuuri puhul on jõudlus ja isolatsioon väga olulised. Pilves olevate virtuaalmasinate jõudlus võib erineda sõltuvalt konkreetsetest koormustest, keskkondadest ja süsteemi aktiivsete kasutajate arvust. Seetõttu võib töökindlus ja sõlmede rike muutuda oluliseks probleemiks.

Logihaldusplatvorm saab jälgida kõiki ülaltoodud probleeme, samuti töödelda operatsioonisüsteemi logisid, NGINX-i, IIS-i serveri logi veebiliikluse analüüsimiseks, rakenduste logisid ja logisid AWS-is (Amazon veebiteenused).

Logihaldus aitab DevOpsi inseneridel ja süsteemiadministraatoritel teha paremaid äriotsuseid. Seetõttu on logianalüüs Elastic Stacki või sarnaste tööriistade abil oluline.

ELK vs Splunk

põder Purustatud
Elk on avatud lähtekoodiga tööriist Splunk on kaubanduslik tööriist.
Põdravirn ei paku Solaris Kaasaskantavus Kibana tõttu. Splunk pakkumised Solaris Teisaldatavus.
Töötlemiskiirus on rangelt piiratud. Pakub täpseid ja kiireid protsesse.
ELK on tehnoloogiapinn, mis on loodud kombinatsiooniga Elastic Search-Logstash- Kibana. Splunk on patenteeritud tööriist. See pakub nii kohapealseid kui ka pilvelahendusi.
ELK-i otsingus on analüüs ja visualiseerimine võimalik alles pärast ELK-i virna seadistamist. Splunk on teie käsutuses olev täielik andmehalduspakett.
ELK tööriist ei toeta integreerimist teiste tööriistadega. Splunk on kasulik tööriist integreerimise seadistamiseks teiste tööriistadega.

Case Studies

NetFlix

Netflix toetub suuresti ELK stäkile. Ettevõte kasutab ELK stacki klienditeeninduse tegevuse turvalogi jälgimiseks ja analüüsimiseks. See võimaldab neil indekseerida, salvestada ja otsida dokumente enam kui viieteistkümnest klastrist, mis koosnevad peaaegu 800 sõlmest.

LinkedIn

Kuulus sotsiaalmeedia turundussait LinkedIn kasutab jõudluse ja turvalisuse jälgimiseks ELK stacki. IT-meeskond integreeris ELK-i Kafkaga, et toetada nende koormust reaalajas. Nende ELK tegevus hõlmab enam kui 100 klastrit kuues erinevas andmekeskuses.

lõng

Tripwire on ülemaailmne turvateabe sündmuste haldussüsteem. Ettevõte kasutab ELK-d infopakettide logi analüüsi toetamiseks.

Keskmine

Medium on kuulus ajaveebi avaldamise platvorm. Nad kasutavad tootmisprobleemide silumiseks ELK pinu. Ettevõte kasutab tuvastamiseks ka ELK-d DynamoDB kuumad potid. Lisaks saab ettevõte seda virna kasutades toetada 25 miljonit unikaalset lugejat ja tuhandeid avaldatud postitusi igal nädalal.

ELK virna plussid ja miinused

Eelised

  • ELK töötab kõige paremini siis, kui ettevõtte erinevate rakenduste logid koondatakse üheks ELK-eksemplariks
  • See annab suurepärase ülevaate selle üksiku eksemplari kohta ja välistab ka vajaduse logida sadadesse erinevasse logiandmeallikasse
  • Kiire kohapealne paigaldamine
  • Lihtne paigaldada Kaalud vertikaalselt ja horisontaalselt
  • Elastic pakub hulgaliselt keelekliente, sealhulgas Ruby. Python. PHP, Perl, .NET, Javaja JavaSkript ja palju muud
  • Teekide saadavus erinevate programmeerimis- ja skriptikeelte jaoks

Puudused

  • Kompleksse seadistuse juurde liikudes võib virnas olevate erinevate komponentide käsitlemine muutuda keeruliseks
  • Pole midagi muud kui katse-eksitus. Seega, mida rohkem teete, seda rohkem õpite

kokkuvõte

  • Tsentraliseeritud logimine võib olla kasulik serverite või rakendustega seotud probleemide tuvastamisel
  • ELK serveripinn on kasulik tsentraliseeritud logimissüsteemiga seotud probleemide lahendamiseks
  • ELK stack on kolme avatud lähtekoodiga tööriista Elasticsearch, Logstash Kibana
  • Elasticsearch on NoSQL-i andmebaas
  • Logstash on andmete kogumise torujuhtme tööriist
  • Kibana on andmete visualiseerimine, mis lõpetab ELK virna
  • Pilvepõhise keskkonna infrastruktuuri puhul on jõudlus ja isolatsioon väga olulised
  • ELK-s on virna töötlemise kiirus rangelt piiratud Purustatud pakub täpseid ja kiireid protsesse
  • Netflix, LinkedIn, Tripware ja Medium kasutavad kõik oma äritegevuses ELK virna
  • ELK Syslog töötab kõige paremini siis, kui ettevõtte erinevate rakenduste logid koondatakse üheks ELK eksemplariks
  • Kompleksse seadistuse juurde liikudes võib virnas olevate erinevate komponentide käsitlemine muutuda keeruliseks

Vaadake meie ElasticSearchi intervjuu küsimused ja vastused nii värskematele kui ka kogenud kandidaatidele.