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

ELK Stack Architecture
ELK Stack Architecture
  • 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.

ELK Stack Architecture med Beats

Mens du hรฅndterer svรฆrt store datamengder, kan det hende du trenger Kafka, RabbitMQ for buffering og motstandskraft. For sikkerhet kan nginx brukes.

ELK Stack Architecture

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.

Linkedin

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.

Oppsummer dette innlegget med: