ELK Stack Tutorial: Hvad er Kibana, Logstash & Elasticsearch?
Hvad er ELK Stack?
ELK stak er en samling af tre open source-produkter — Elasticsearch, Logstashog Kibana. ELK stack giver centraliseret logning for at identificere problemer med servere eller applikationer. Det giver dig mulighed for at søge i alle logfiler på et enkelt sted. Det hjælper også med at finde problemer på flere servere ved at forbinde logfiler inden for en bestemt tidsramme.
- E står for ElasticSearch: bruges til at opbevare logfiler
- L står for LogStash : bruges til både forsendelse samt behandling og opbevaring af logs
- K står for Kibana: er en visualiseringsværktøj (en webgrænseflade), som hostes gennem Nginx eller Apache
ElasticSearch, LogStash og Kibana er alle udviklet, administreret og vedligeholdt af firmaet Elastic.
ELK Stack er designet til at give brugere mulighed for at tage data fra enhver kilde, i ethvert format, og til at søge, analysere og visualisere disse data i realtid.
ELK stak Architecture
Nu i denne ELK stack tutorial vil vi lære om ELK arkitektur:
Her er den enkle arkitektur af ELK stack
- Logs: Serverlogfiler, der skal analyseres, identificeres
- Logstash: Indsaml logfiler og hændelsesdata. Den analyserer og transformerer endda data
- ElasticSearch: De transformerede data fra Logstash is Gem, søg og indekseret.
- Kibana: Kibana bruger Elasticsearch DB til at udforske, visualisere og dele
Der er dog behov for en komponent mere eller dataindsamling kaldet Beats. Dette fik Elastic til at omdøbe ELK til Elastic Stack.
Mens du beskæftiger dig med meget store mængder data, kan du have brug for Kafka, RabbitMQ til buffering og modstandsdygtighed. Af sikkerhedsmæssige årsager kan nginx bruges.
Nu i denne Elastic stack tutorial, Lad os dykke i dybden med alle disse open source-produkter:
Hvad er Elasticsearch?
Elasticsearch er en NoSQL database. Den er baseret på Lucene-søgemaskinen, og den er bygget med RESTful APIS. Det tilbyder enkel implementering, maksimal pålidelighed og nem administration. Det tilbyder også avancerede forespørgsler til at udføre detaljeanalyse og gemmer alle data centralt. Det er nyttigt til at udføre en hurtig søgning i dokumenterne.
Elasticsearch giver dig også mulighed for at gemme, søge og analysere store mængder data. Det bruges mest som den underliggende motor til at drive applikationer, der opfyldte søgekrav. Det er blevet vedtaget i søgemaskineplatforme til moderne web- og mobilapplikationer. Udover en hurtig søgning tilbyder værktøjet også komplekse analyser og mange avancerede funktioner.
Funktioner i Elastisk søgning
- Open source søgeserver er skrevet vha Java
- Bruges til at indeksere enhver form for heterogen data
- Har REST API web-interface med JSON output
- Fuld tekstsøgning
- Søgning nær realtid (NRT).
- Delt, replikeret søgbar, JSON-dokumentbutik
- Skemafri, REST & JSON baseret distribueret dokumentlager
- Multi-sprog & Geolocation support
Fordele ved Elasticsearch
- Gem data uden skema og opretter også et skema til dine data
- Manipuler din datapost for post ved hjælp af Multi-document API'er
- Udfør filtrering og forespørgsel efter dine data for at få indsigt
- Baseret på Apache Lucene og giver RESTful API
- Giver horisontal skalerbarhed, pålidelighed og multitenant-kapacitet til brug i realtid af indeksering for at gøre det hurtigere søgning
- Hjælper dig med at skalere lodret og vandret
Vigtige termer brugt i Elastic Search
Lad os nu i denne ELK-tutorial lære om nøgleudtryk, der bruges i ElasticSearch:
Semester | Brug |
---|---|
Cluster | En klynge er en samling af noder, som tilsammen rummer data og giver mulighed for kombineret indeksering og søgefunktion. |
Node | En node er en elasticsearch-instans. Det oprettes, når en elasticsearch-forekomst begynder. |
Indeks | Et indeks er en samling af dokumenter, som har lignende karakteristika. fx kundedata, produktkatalog. Det er meget nyttigt, mens du udfører indeksering, søgning, opdatering og sletning. Det giver dig mulighed for at definere så mange indekser i en enkelt klynge. |
Dokument | Det er den grundlæggende informationsenhed, som kan indekseres. Det er udtrykt i JSON (nøgle: værdi) par. '{"bruger": "nullcon"}'. Hvert enkelt dokument er forbundet med en type og et unikt id. |
shard | Hvert indeks kan opdeles i flere shards for at kunne distribuere data. Skarven er den atomare del af et indeks, som kan fordeles over klyngen, hvis du vil tilføje flere noder. |
Hvad er Logstash?
Logstash er pipelineværktøjet til dataindsamling. Den indsamler datainput og feeds til Elasticsearch. Den samler alle typer data fra de forskellige kilder og gør dem tilgængelige til videre brug.
Logstash kan forene data fra forskellige kilder og normalisere dataene til dine ønskede destinationer. Det giver dig mulighed for at rense og demokratisere alle dine data til analyser og visualisering af use cases.
Den består af tre komponenter:
- Input: videregivelse af logfiler for at behandle dem til maskinforståeligt format
- Filtre: Det er et sæt betingelser for at udføre en bestemt handling eller begivenhed
- Produktion: Beslutningstager for behandlet hændelse eller log
Funktioner af Logstash
Lad os nu i denne LogStash-vejledning lære om funktionerne i LogStash:
- Hændelser føres gennem hver fase ved hjælp af interne køer
- Tillader forskellige input til dine logfiler
- Filtrering/parsing af dine logfiler
udnyttelse af Logstash
- Tilbud centraliserer databehandlingen
- Den analyserer en lang række strukturerede/ustrukturerede data og begivenheder
- ELK LogStash tilbyder plugins til at forbinde med forskellige typer inputkilder og platforme
Hvad er Kibana?
Kibana er en datavisualisering, som fuldender ELK-stakken. Dette værktøj bruges til at visualisere Elasticsearch-dokumenterne og hjælper udviklere med at få et hurtigt indblik i det. Kibana dashboard tilbyder forskellige interaktive diagrammer, geospatiale data og grafer til at visualisere komplekse quires.
Det kan bruges til at søge, se og interagere med data, der er gemt i Elasticsearch-mapper. Kibana hjælper dig med at præstere avanceret dataanalyse og visualiser dine data i en række forskellige tabeller, diagrammer og kort.
I Kibana er der forskellige metoder til at udføre søgninger på dine data.
Her er de mest almindelige søgetyper:
Søgetype | Brug |
---|---|
Fritekstsøgninger | Det bruges til at søge efter en bestemt streng |
Søgninger på feltniveau | Det bruges til at søge efter en streng inden for et bestemt felt |
Logiske udsagn | Det bruges til at kombinere søgninger til et logisk udsagn. |
Nærhedssøgninger | Det bruges til at søge efter termer inden for specifik karakter nærhed. |
Lad os nu i denne Kibana-tutorial lære om vigtige funktioner i Kibana:
Funktioner af Kinbana:
- Kraftfuld front-end dashboard, der er i stand til at visualisere indekseret information fra den elastiske klynge
- Muliggør søgning i realtid af indekseret information
- Du kan søge, se og interagere med data, der er gemt i Elasticsearch
- Udfør forespørgsler på data og visualiser resultater i diagrammer, tabeller og kort
- Konfigurerbart dashboard til at opdele og opdele logstash-logfiler i elasticsearch
- I stand til at levere historiske data i form af grafer, diagrammer osv.
- Dashboards i realtid, som nemt kan konfigureres
- Kibana ElasticSearch muliggør søgning i realtid af indekseret information
Fordele og ulemper ved Kinbana
- Nem visualisering
- Fuldt integreret med Elasticsearch
- Visualiseringsværktøj
- Tilbyder realtidsanalyse, kortlægning, opsummering og fejlfinding
- Giver instinktiv og brugervenlig grænseflade
- Tillader deling af snapshots af de logfiler, der er søgt igennem
- Tillader at gemme dashboardet og administrere flere dashboards
Hvorfor loganalyse?
I skybaserede miljøinfrastrukturer er ydeevne og isolation meget vigtig. Ydeevnen af virtuelle maskiner i skyen kan variere baseret på de specifikke belastninger, miljøer og antallet af aktive brugere i systemet. Derfor kan pålidelighed og knudefejl blive et væsentligt problem.
Log management platform kan overvåge alle ovennævnte problemer samt behandle operativsystemlogfiler, NGINX, IIS serverlog til webtrafikanalyse, applikationslogfiler og logfiler på AWS (Amazon webservices).
Logstyring hjælper DevOps-ingeniører, systemadministratorer med at træffe bedre forretningsbeslutninger. Derfor er loganalyse via Elastic Stack eller lignende værktøjer vigtig.
ELK vs. Splunk
Elk | splunk |
---|---|
Elk er open source-værktøj | Splunk er et kommercielt værktøj. |
Elk stack tilbyder ikke Solaris Bærbarhed på grund af Kibana. | Splunk tilbyder Solaris Bærbarhed. |
Behandlingshastigheden er strengt begrænset. | Tilbyder præcise og hurtige processer. |
ELK er en teknologistak skabt med kombinationen Elastic Search-Logstash- Kibana. | Splunk er et proprietært værktøj. Det giver både on-premise og cloud-løsninger. |
I ELK-søgning vil Analyse & Visualisering kun være mulig, efter at ELK-stakken er sat op. | Splunk er en komplet datahåndteringspakke til din rådighed. |
ELK-værktøjet understøtter ikke integration med andre værktøjer. | Splunk er et nyttigt værktøj til opsætning af integrationer med andre værktøjer. |
Casestudier
Netflix
Netflix er stærkt afhængig af ELK stack. Virksomheden, der bruger ELK stack til at overvåge og analysere kundeservicedriftens sikkerhedslog. Det giver dem mulighed for at indeksere, gemme og søge i dokumenter fra mere end femten klynger, som omfatter næsten 800 noder.
Det berømte sociale mediemarkedsføringssite LinkedIn bruger ELK stack til at overvåge ydeevne og sikkerhed. IT-teamet integrerede ELK med Kafka for at understøtte deres belastning i realtid. Deres ELK-drift omfatter mere end 100 klynger på tværs af seks forskellige datacentre.
Tripwire
Tripwire er et verdensomspændende Security Information Event Management-system. Virksomheden bruger ELK til at understøtte informationspakkeloganalyse.
Medium
Medium er en berømt blog-publiceringsplatform. De bruger ELK stack til at fejlfinde deres produktionsproblemer. Virksomheden bruger også ELK til at detektere DynamoDB hotpots. Desuden kan virksomheden ved at bruge denne stak understøtte 25 millioner unikke læsere samt tusindvis af publicerede indlæg hver uge.
Fordele og ulemper ved ELK stack
Fordele
- ELK fungerer bedst, når logfiler fra forskellige apps fra en virksomhed konvergerer til en enkelt ELK-instans
- Det giver forbløffende indsigt for denne enkelte instans og eliminerer også behovet for at logge ind på hundrede forskellige logdatakilder
- Hurtig installation på stedet
- Let at installere Vægt lodret og vandret
- Elastic tilbyder et væld af sprogkunder, som inkluderer Ruby. Python. PHP, Perl, .NET, Javaog JavaScript og mere
- Tilgængelighed af biblioteker til forskellige programmerings- og scriptsprog
Ulemper
- Forskellige komponenter i stakken kan blive svære at håndtere, når du går videre til kompleks opsætning
- Der er intet som forsøg og fejl. Jo mere du gør, jo mere lærer du undervejs
Resumé
- Centraliseret logning kan være nyttig, når du forsøger at identificere problemer med servere eller applikationer
- ELK serverstak er nyttig til at løse problemer relateret til centraliseret logningssystem
- ELK stack er en samling af tre open source værktøjer Elasticsearch, Logstash Kibana
- Elasticsearch er en NoSQL-database
- Logstash er pipelineværktøjet til dataindsamling
- Kibana er en datavisualisering, som fuldender ELK-stakken
- I cloud-baserede miljøinfrastrukturer er ydeevne og isolation meget vigtig
- I ELK stack behandling hastighed er strengt begrænset mens splunk tilbyder præcise og hurtige processer
- Netflix, LinkedIn, Tripware, Medium alle bruger ELK stack til deres virksomhed
- ELK Syslog fungerer bedst, når logfiler fra forskellige apps i en virksomhed konvergerer til en enkelt ELK-instans
- Forskellige komponenter i stakken kan blive svære at håndtere, når du går videre til kompleks opsætning
Henvis vores ElasticSearch interviewspørgsmål og svar for friskere såvel som erfarne kandidater.