ELK Stack Tutorial: Vad är Kibana, Logstash & Elasticsearch?

Vad är ELK Stack?

Din ELK Stack är en samling av tre produkter med öppen källkod — Elasticsearch, Logstash, och Kibana. ELK stack tillhandahåller centraliserad loggning för att identifiera problem med servrar eller applikationer. Det låter dig söka i alla loggar på en enda plats. Det hjälper också att hitta problem på flera servrar genom att ansluta loggar under en viss tidsram.

  • E står för ElasticSearch: används för att lagra stockar
  • L står för LogStash: används för både frakt samt bearbetning och lagring av stockar
  • K står för Kibana: är en visualiseringsverktyg (ett webbgränssnitt) som är värd via Nginx eller Apache

ElasticSearch, LogStash och Kibana är alla utvecklade, hanterade och underhållna av företaget som heter Elastic.

ELK Stack är utformad för att tillåta användare att ta data från vilken källa som helst, i vilket format som helst, och att söka, analysera och visualisera dessa data i realtid.

ELK Stack Architecture

Nu i den här ELK-stackhandledningen kommer vi att lära oss om ELK-arkitektur:

Här är den enkla arkitekturen hos ELK stack

ELK Stack Architecture
ELK Stack Architecture
  • loggar: Serverloggar som behöver analyseras identifieras
  • Logstash: Samla in loggar och händelsedata. Den analyserar och transformerar till och med data
  • ElasticSearch: Den omvandlade data från Logstash is Lagra, sök och indexeras.
  • Kibana: Kibana använder Elasticsearch DB för att utforska, visualisera och dela

Det behövs dock ytterligare en komponent eller datainsamling som kallas Beats. Detta fick Elastic att döpa om ELK till Elastic Stack.

ELK Stack Architecture med Beats

När du hanterar mycket stora mängder data kan du behöva Kafka, RabbitMQ för buffring och motståndskraft. För säkerhet kan nginx användas.

ELK Stack Architecture

Nu i denna Elastic stack handledning, Låt oss djupdyka alla dessa produkter med öppen källkod:

Vad är Elasticsearch?

Elasticsearch är en NoSQL-databas. Den är baserad på Lucene sökmotor, och den är byggd med RESTful APIS. Den erbjuder enkel distribution, maximal tillförlitlighet och enkel hantering. Den erbjuder även avancerade frågor för att utföra detaljanalys och lagrar all data centralt. Det är användbart för att utföra en snabb sökning i dokumenten.

Elasticsearch låter dig också lagra, söka och analysera stora mängder data. Den används mestadels som den underliggande motorn för att driva applikationer som uppfyller sökkraven. Det har antagits i sökmotorplattformar för moderna webb- och mobilapplikationer. Förutom en snabb sökning erbjuder verktyget även komplexa analyser och många avancerade funktioner.

Funktioner i Elastisk sökning

  • Öppen källkod sökserver är skriven med Java
  • Används för att indexera alla typer av heterogena data
  • Har REST API-webbgränssnitt med JSON-utgång
  • Sökning i fulltext
  • Sök i nära realtid (NRT).
  • Delad, replikerad sökbar, JSON-dokumentbutik
  • Schemafri, REST & JSON-baserad distribuerad dokumentbutik
  • Stöd för flera språk och geolokalisering

Fördelar med Elasticsearch

  • Lagra data utan schema och skapar även ett schema för dina data
  • Manipulera din datapost för post med hjälp av API:er för flera dokument
  • Utför filtrering och fråga efter dina data för insikter
  • Baserat på Apache Lucene och ger RESTful API
  • Ger horisontell skalbarhet, tillförlitlighet och multitenant-kapacitet för realtidsanvändning av indexering för att göra det snabbare att söka
  • Hjälper dig att skala vertikalt och horisontellt

Viktiga termer som används i Elastic Search

Låt oss nu i denna ELK-handledning lära oss om nyckeltermer som används i ElasticSearch:

Termin Användning
Cluster Ett kluster är en samling noder som tillsammans håller data och ger kombinerade indexerings- och sökmöjligheter.
Nod En nod är en elasticsearch-instans. Den skapas när en elasticsearch-instans börjar.
index Ett index är en samling dokument som har liknande egenskaper. t.ex. kunddata, produktkatalog. Det är mycket användbart när du utför indexering, sökning, uppdatering och radering. Det låter dig definiera så många index i ett enda kluster.
Dokument Det är den grundläggande informationsenheten som kan indexeras. Det uttrycks i JSON (nyckel: värde) par. '{"användare": "nullcon"}'. Varje enskilt dokument är associerat med en typ och ett unikt id.
Skärva Varje index kan delas upp i flera skärvor för att kunna distribuera data. Skärvan är den atomära delen av ett index, som kan fördelas över klustret om du vill lägga till fler noder.

Vad är Logstash?

Logstash är pipelineverktyget för datainsamling. Den samlar in data och matar in i Elasticsearch. Den samlar alla typer av data från olika källor och gör den tillgänglig för vidare användning.

Logstash kan förena data från olika källor och normalisera data till dina önskade destinationer. Det låter dig rensa och demokratisera all din data för analys och visualisering av användningsfall.

Den består av tre komponenter:

  • Ingång: skickar loggar för att bearbeta dem till maskinförståeligt format
  • Filter: Det är en uppsättning villkor för att utföra en viss handling eller händelse
  • Produktion: Beslutsfattare för bearbetad händelse eller logg

Dragen av Logstash

Nu i denna LogStash-handledning, låt oss lära oss om funktionerna i LogStash:

  • Händelser skickas genom varje fas med hjälp av interna köer
  • Tillåter olika ingångar för dina loggar
  • Filtrering/parsning för dina loggar

Fördel av Logstash

  • Erbjudanden centraliserar databehandlingen
  • Den analyserar ett stort utbud av strukturerade/ostrukturerade data och händelser
  • ELK LogStash erbjuder plugins för att ansluta till olika typer av ingångskällor och plattformar

Vad är Kibana?

Kibana är en datavisualisering som kompletterar ELK-stacken. Detta verktyg används för att visualisera Elasticsearch-dokumenten och hjälper utvecklare att få en snabb inblick i det. Kibanas instrumentpanel erbjuder olika interaktiva diagram, geospatiala data och grafer för att visualisera komplexa behov.

Den kan användas för att söka, visa och interagera med data som lagras i Elasticsearch-kataloger. Kibana hjälper dig att prestera avancerat dataanalys och visualisera dina data i en mängd olika tabeller, diagram och kartor.

I Kibana finns det olika metoder för att utföra sökningar på din data.

Här är de vanligaste söktyperna:

Söktyp Användning
Fritextsökningar Den används för att söka efter en specifik sträng
Sökningar på fältnivå Den används för att söka efter en sträng inom ett specifikt fält
Logiska påståenden Den används för att kombinera sökningar till ett logiskt påstående.
Närhetssökningar Den används för att söka efter termer inom specifik teckennärhet.

Låt oss nu i denna Kibana-handledning lära oss om viktiga funktioner hos Kibana:

Funktioner hos Kinbana:

  • Kraftfull front-end-instrumentbräda som kan visualisera indexerad information från det elastiska klustret
  • Möjliggör realtidssökning av indexerad information
  • Du kan söka, visa och interagera med data som lagras i Elasticsearch
  • Utför frågor om data och visualisera resultat i diagram, tabeller och kartor
  • Konfigurerbar instrumentpanel för att skära och tärna logstash-loggar i elasticsearch
  • Kan tillhandahålla historiska data i form av grafer, diagram, etc.
  • Instrumentpaneler i realtid som är lätt konfigurerbara
  • Kibana ElasticSearch möjliggör realtidssökning av indexerad information

Fördelar och nackdelar med Kinbana

  • Enkel visualisering
  • Helt integrerad med Elasticsearch
  • Visualiseringsverktyg
  • Erbjuder realtidsanalys, kartläggning, sammanfattning och felsökningsfunktioner
  • Ger instinktivt och användarvänligt gränssnitt
  • Tillåter delning av ögonblicksbilder av loggarna som sökts igenom
  • Tillåter att spara instrumentpanelen och hantera flera instrumentpaneler

Varför logganalys?

I molnbaserad miljö är infrastrukturer, prestanda och isolering mycket viktigt. Prestandan för virtuella maskiner i molnet kan variera beroende på de specifika belastningarna, miljöerna och antalet aktiva användare i systemet. Därför kan tillförlitlighet och nodfel bli ett betydande problem.

Logghanteringsplattform kan övervaka alla ovan givna problem samt processoperativsystemloggar, NGINX, IIS-serverlogg för webbtrafikanalys, applikationsloggar och loggar på AWS (Amazon webbservice).

Logghantering hjälper DevOps-ingenjörer, systemadministratörer att fatta bättre affärsbeslut. Därför är logganalys via Elastic Stack eller liknande verktyg viktigt.

ELK vs Splunk

Älg Splunk
Elk är ett verktyg med öppen källkod Splunk är ett kommersiellt verktyg.
Älgstack erbjuder inte Solaris Bärbarhet på grund av Kibana. Splunk erbjuder Solaris Portabilitet.
Bearbetningshastigheten är strikt begränsad. Erbjuder exakta och snabba processer.
ELK är en teknikstack skapad med kombinationen Elastic Search-Logstash-Kibana. Splunk är ett proprietärt verktyg. Det tillhandahåller både lokala och molnlösningar.
I ELK-sökning är analys och visualisering endast möjlig efter att ELK-stacken har ställts in. Splunk är ett komplett datahanteringspaket till ditt förfogande.
ELK-verktyget stöder inte integration med andra verktyg. Splunk är ett användbart verktyg för att sätta upp integrationer med andra verktyg.

Fallstudier

NetFlix

Netflix förlitar sig starkt på ELK stack. Företaget använder ELK stack för att övervaka och analysera kundtjänstverksamhetens säkerhetslogg. Det låter dem indexera, lagra och söka i dokument från mer än femton kluster som omfattar nästan 800 noder.

LinkedIn

Den berömda marknadsföringssidan för sociala medier LinkedIn använder ELK stack för att övervaka prestanda och säkerhet. IT-teamet integrerade ELK med Kafka för att stödja deras belastning i realtid. Deras ELK-verksamhet omfattar mer än 100 kluster i sex olika datacenter.

Snubbeltråd

Tripwire är ett världsomspännande säkerhetsinformationshanteringssystem. Företaget använder ELK för att stödja analys av informationspaketloggar.

Medium

Medium är en berömd bloggpubliceringsplattform. De använder ELK stack för att felsöka sina produktionsproblem. Företaget använder även ELK för att detektera DynamoDB hotpots. Genom att använda denna stack kan företaget dessutom stödja 25 miljoner unika läsare samt tusentals publicerade inlägg varje vecka.

Fördelar och nackdelar med ELK stack

Fördelar

  • ELK fungerar bäst när loggar från olika appar från ett företag konvergerar till en enda ELK-instans
  • Det ger fantastiska insikter för denna enda instans och eliminerar också behovet av att logga in på hundra olika loggdatakällor
  • Snabb installation på plats
  • Lätt att distribuera Vågar vertikalt och horisontellt
  • Elastic erbjuder en mängd språkkunder som inkluderar Ruby. Python. PHP, Perl, .NET, Javaoch JavaManus och mer
  • Tillgänglighet av bibliotek för olika programmerings- och skriptspråk

Nackdelar

  • Olika komponenter i stacken kan bli svåra att hantera när du går vidare till komplexa installationer
  • Det finns inget som trial and error. Således, ju mer du gör, desto mer lär du dig på vägen

Sammanfattning

  • Centraliserad loggning kan vara användbar när man försöker identifiera problem med servrar eller applikationer
  • ELK serverstack är användbart för att lösa problem relaterade till centraliserat loggningssystem
  • ELK stack är en samling av tre öppen källkodsverktyg Elasticsearch, Logstash Kibana
  • Elasticsearch är en NoSQL-databas
  • Logstash är pipelineverktyget för datainsamling
  • Kibana är en datavisualisering som kompletterar ELK-stacken
  • I molnbaserade miljöinfrastrukturer är prestanda och isolering mycket viktigt
  • I ELK stack processhastighet är strikt begränsad medan Splunk erbjuder exakta och snabba processer
  • Netflix, LinkedIn, Tripware, Medium använder alla ELK stack för sin verksamhet
  • ELK Syslog fungerar bäst när loggar från olika appar från ett företag konvergerar till en enda ELK-instans
  • Olika komponenter i stacken kan bli svåra att hantera när du går vidare till komplexa installationer

Se vår ElasticSearch intervjufrågor och svar för fräschare såväl som erfarna kandidater.