ELK Stack Tutorial: Hva er Kibana, Logstash & Elasticsearch?
Hva er ELK Stack?
Ocuco ELK Stack er en samling av tre åpen kildekode-produkter – Elasticsearch, Logstash, og Kibana. ELK stack gir sentralisert logging for å identifisere problemer med servere eller applikasjoner. Den lar deg søke i alle loggene på ett sted. Det hjelper også å finne problemer på flere servere ved å koble til logger i løpet av en bestemt tidsramme.
- E står for ElasticSearch: brukes til å lagre logger
- L står for LogStash : brukes til både frakt samt behandling og lagring av logger
- K står for Kibana: er en visualiseringsverktøy (et nettgrensesnitt) som er vert for Nginx eller Apache
ElasticSearch, LogStash og Kibana er alle utviklet, administrert og vedlikeholdt av selskapet som heter Elastic.
ELK Stack er designet for å tillate brukere å ta data fra enhver kilde, i hvilket som helst format, og for å søke, analysere og visualisere disse dataene i sanntid.
ELK Stack Architecture
Nå i denne ELK stack-opplæringen vil vi lære om ELK-arkitektur:
Her er den enkle arkitekturen til ELK stack
- logger: Serverlogger som må analyseres identifiseres
- Logstash: Samle logger og hendelsesdata. Den analyserer og transformerer til og med data
- ElasticSearch: De transformerte dataene fra Logstash is Lagre, søk og indeksert.
- Kibana: Kibana bruker Elasticsearch DB for å utforske, visualisere og dele
Imidlertid er det nødvendig med en komponent til eller datainnsamling kalt Beats. Dette førte til at Elastic omdøpte ELK til Elastic Stack.
Mens du håndterer svært store datamengder, kan det hende du trenger Kafka, RabbitMQ for buffering og motstandskraft. For sikkerhet kan nginx brukes.
Nå i denne Elastic stack-opplæringen, La oss gå i dybden med alle disse åpen kildekode-produktene:
Hva er Elasticsearch?
Elasticsearch er en NoSQL -database. Den er basert på Lucene søkemotor, og den er bygget med RESTful APIS. Den tilbyr enkel distribusjon, maksimal pålitelighet og enkel administrasjon. Den tilbyr også avanserte spørringer for å utføre detaljanalyse og lagrer alle data sentralt. Det er nyttig for å utføre et raskt søk i dokumentene.
Elasticsearch lar deg også lagre, søke og analysere store mengder data. Den brukes mest som den underliggende motoren for å drive applikasjoner som fullførte søkekrav. Det har blitt tatt i bruk i søkemotorplattformer for moderne nett- og mobilapplikasjoner. Bortsett fra et raskt søk, tilbyr verktøyet også komplekse analyser og mange avanserte funksjoner.
Funksjoner i Elastisk søk
- Åpen kildekode søkeserver er skrevet med Java
- Brukes til å indeksere alle slags heterogene data
- Har REST API web-grensesnitt med JSON-utgang
- Søk i full tekst
- Søk i nær sanntid (NRT).
- Delt, replikert søkbart, JSON-dokumentlager
- Skjemafri, REST & JSON-basert distribuert dokumentbutikk
- Støtte for flere språk og geolokalisering
Fordeler med Elasticsearch
- Lagre skjemaløse data og oppretter også et skjema for dataene dine
- Manipuler dataene dine post for post ved hjelp av multi-dokument APIer
- Utfør filtrering og spør etter dataene dine for å få innsikt
- Basert på Apache Lucene og gir RESTful API
- Gir horisontal skalerbarhet, pålitelighet og multitenant-kapasitet for sanntidsbruk av indeksering for å gjøre det raskere søk
- Hjelper deg med å skalere vertikalt og horisontalt
Viktige termer brukt i Elastisk søk
La oss nå i denne ELK-opplæringen lære om nøkkelbegreper som brukes i ElasticSearch:
Begrep | bruk |
---|---|
Cluster | En klynge er en samling av noder som sammen holder data og gir sammenkoblede indekserings- og søkemuligheter. |
Node | En node er en elasticsearch-forekomst. Den opprettes når en elasticsearch-forekomst begynner. |
Index | En indeks er en samling av dokumenter som har lignende egenskaper. for eksempel kundedata, produktkatalog. Det er veldig nyttig når du utfører indeksering, søk, oppdatering og sletting. Den lar deg definere så mange indekser i en enkelt klynge. |
Document | Det er den grunnleggende informasjonsenheten som kan indekseres. Det er uttrykt i JSON (nøkkel: verdi) par. '{"bruker": "nullcon"}'. Hvert enkelt dokument er knyttet til en type og en unik id. |
Shard | Hver indeks kan deles opp i flere shards for å kunne distribuere data. Skåret er atomdelen av en indeks, som kan fordeles over klyngen hvis du ønsker å legge til flere noder. |
Hva er Logstash?
Logstash er pipelineverktøyet for datainnsamling. Den samler inn datainndata og mater inn i Elasticsearch. Den samler alle typer data fra de forskjellige kildene og gjør dem tilgjengelige for videre bruk.
Logstash kan forene data fra ulike kilder og normalisere dataene til dine ønskede destinasjoner. Den lar deg rense og demokratisere alle dataene dine for analyser og visualisering av brukstilfeller.
Den består av tre komponenter:
- Input: sende logger for å behandle dem til maskinforståelig format
- Filter: Det er et sett med betingelser for å utføre en bestemt handling eller hendelse
- Produksjon: Beslutningstaker for behandlet hendelse eller logg
Funksjoner av Logstash
Nå i denne LogStash-opplæringen, la oss lære om funksjonene til LogStash:
- Hendelser sendes gjennom hver fase ved hjelp av interne køer
- Tillater forskjellige innganger for loggene dine
- Filtrering/parsing for loggene dine
Fordelen med Logstash
- Tilbud sentraliserer databehandlingen
- Den analyserer et stort utvalg av strukturerte/ustrukturerte data og hendelser
- ELK LogStash tilbyr plugins for å koble til ulike typer inngangskilder og plattformer
Hva er Kibana?
Kibana er en datavisualisering som fullfører ELK-stakken. Dette verktøyet brukes til å visualisere Elasticsearch-dokumentene og hjelper utviklere å få et raskt innblikk i det. Kibana-dashbordet tilbyr ulike interaktive diagrammer, geospatiale data og grafer for å visualisere komplekse behov.
Den kan brukes til å søke, vise og samhandle med data som er lagret i Elasticsearch-kataloger. Kibana hjelper deg å prestere avansert dataanalyse og visualiser dataene dine i en rekke tabeller, diagrammer og kart.
I Kibana er det forskjellige metoder for å utføre søk på dataene dine.
Her er de vanligste søketypene:
Søketype | bruk |
---|---|
Fritekstsøk | Den brukes til å søke etter en bestemt streng |
Søk på feltnivå | Den brukes til å søke etter en streng innenfor et spesifikt felt |
Logiske utsagn | Den brukes til å kombinere søk til et logisk utsagn. |
Nærhetssøk | Den brukes til å søke etter termer innenfor spesifikke tegn nærhet. |
La oss nå i denne Kibana-opplæringen lære om viktige funksjoner i Kibana:
Funksjoner av Kinbana:
- Kraftig front-end dashbord som er i stand til å visualisere indeksert informasjon fra den elastiske klyngen
- Gjør det mulig å søke i sanntid av indeksert informasjon
- Du kan søke, vise og samhandle med data som er lagret i Elasticsearch
- Utfør søk på data og visualiser resultater i diagrammer, tabeller og kart
- Konfigurerbart dashbord for å kutte og kutte loggstash-logger i elasticsearch
- I stand til å gi historiske data i form av grafer, diagrammer, etc.
- Sanntidsdashbord som er enkelt å konfigurere
- Kibana ElasticSearch muliggjør sanntidssøk av indeksert informasjon
Fordeler og ulemper med Kinbana
- Enkel visualisering
- Fullt integrert med Elasticsearch
- Visualiseringsverktøy
- Tilbyr sanntidsanalyse, kartlegging, oppsummering og feilsøkingsmuligheter
- Gir instinktivt og brukervennlig grensesnitt
- Tillater deling av øyeblikksbilder av loggene som er søkt gjennom
- Gjør det mulig å lagre dashbordet og administrere flere dashbord
Hvorfor logganalyse?
I skybaserte miljøer er infrastrukturer, ytelse og isolasjon svært viktig. Ytelsen til virtuelle maskiner i skyen kan variere basert på spesifikke belastninger, miljøer og antall aktive brukere i systemet. Derfor kan pålitelighet og nodesvikt bli et betydelig problem.
Loggadministrasjonsplattform kan overvåke alle ovennevnte problemer samt behandle operativsystemlogger, NGINX, IIS serverlogg for nettrafikkanalyse, applikasjonslogger og logger på AWS (Amazon webtjenester).
Loggadministrasjon hjelper DevOps-ingeniører, systemadministrator med å ta bedre forretningsbeslutninger. Derfor er logganalyse via Elastic Stack eller lignende verktøy viktig.
ELK mot Splunk
Elk | Splunk |
---|---|
Elk er åpen kildekode-verktøy | Splunk er et kommersielt verktøy. |
Elgstabel tilbyr ikke Solaris Portabilitet på grunn av Kibana. | Splunk tilbyr Solaris Portabilitet. |
Behandlingshastigheten er strengt begrenset. | Tilbyr nøyaktige og raske prosesser. |
ELK er en teknologistabel laget med kombinasjonen Elastic Search-Logstash-Kibana. | Splunk er et proprietært verktøy. Det gir både lokale og skyløsninger. |
I ELK-søking vil Analyse og visualisering kun være mulig etter at ELK-stakken er satt opp. | Splunk er en komplett datahåndteringspakke til din disposisjon. |
ELK-verktøyet støtter ikke integrasjon med andre verktøy. | Splunk er et nyttig verktøy for å sette opp integrasjoner med andre verktøy. |
Casestudier
Netflix
Netflix er sterkt avhengig av ELK stack. Selskapet bruker ELK stack for å overvåke og analysere kundeservicedriftens sikkerhetslogg. Den lar dem indeksere, lagre og søke i dokumenter fra mer enn femten klynger som omfatter nesten 800 noder.
Den berømte markedsføringssiden for sosiale medier LinkedIn bruker ELK stack for å overvåke ytelse og sikkerhet. IT-teamet integrerte ELK med Kafka for å støtte belastningen deres i sanntid. Deres ELK-drift inkluderer mer enn 100 klynger fordelt på seks forskjellige datasentre.
Tripwire
Tripwire er et verdensomspennende sikkerhetsinformasjonshendelsessystem. Selskapet bruker ELK for å støtte informasjonspakkelogganalyse.
Medium
Medium er en kjent bloggpubliseringsplattform. De bruker ELK-stack for å feilsøke produksjonsproblemer. Selskapet bruker også ELK for å oppdage DynamoDB hotpots. Ved å bruke denne stabelen kan selskapet dessuten støtte 25 millioner unike lesere samt tusenvis av publiserte innlegg hver uke.
Fordeler og ulemper med ELK stack
Fordeler
- ELK fungerer best når logger fra ulike apper til en bedrift konvergerer til en enkelt ELK-instans
- Det gir fantastisk innsikt for denne enkeltforekomsten og eliminerer også behovet for å logge på hundre forskjellige loggdatakilder
- Rask installasjon på stedet
- Enkel å distribuere Vekter vertikalt og horisontalt
- Elastic tilbyr en rekke språkkunder som inkluderer Ruby. Python. PHP, Perl, .NET, Javaog JavaManus og mer
- Tilgjengelighet av biblioteker for forskjellige programmerings- og skriptspråk
Ulemper
- Ulike komponenter i stabelen kan bli vanskelig å håndtere når du går videre til komplekst oppsett
- Det er ingenting som prøving og feiling. Jo mer du gjør, jo mer lærer du underveis
Sammendrag
- Sentralisert logging kan være nyttig når du prøver å identifisere problemer med servere eller applikasjoner
- ELK serverstack er nyttig for å løse problemer knyttet til sentralisert loggingssystem
- ELK stack er en samling av tre åpen kildekodeverktøy Elasticsearch, Logstash Kibana
- Elasticsearch er en NoSQL-database
- Logstash er pipelineverktøyet for datainnsamling
- Kibana er en datavisualisering som fullfører ELK-stakken
- I skybaserte miljøinfrastrukturer er ytelse og isolasjon svært viktig
- I ELK stack prosesseringshastighet er strengt begrenset mens Splunk tilbyr nøyaktige og raske prosesser
- Netflix, LinkedIn, Tripware, Medium bruker alle ELK-stack for virksomheten sin
- ELK Syslog fungerer best når logger fra ulike apper til en bedrift konvergerer til en enkelt ELK-instans
- Ulike komponenter i stabelen kan bli vanskelig å håndtere når du går videre til komplekst oppsett
Se vår Spørsmål og svar på intervju med ElasticSearch for ferskere så vel som erfarne kandidater.