ELK Stack-handleiding: Kibana, Logstash & Elasticsearch

โšก Slimme samenvatting

ELK Stack combineert drie open-source tools: Elasticsearch, LogstashEn Kibana โ€” om machinegegevens te verzamelen, op te slaan, te doorzoeken en te visualiseren, waardoor engineeringteams beschikken over gecentraliseerde logboekregistratie en realtime analyses voor snellere probleemoplossing op servers en applicaties.

  • ๐Ÿงฉ Rollen stapelen: Elasticsearch slaat gegevens op en indexeert ze. Logstash Kibana verwerkt en verzendt logboeken, en visualiseert de resultaten.
  • ๐Ÿ”Ž Elastisch zoeken: Een op Lucene gebaseerde NoSQL-zoekmachine die heterogene data indexeert en vrijwel realtime, volledige tekstresultaten levert via een REST API.
  • ๏ธ Logstash: Een pipeline die logbestanden van diverse bronnen verzamelt, filtert en transformeert voordat ze naar Elasticsearch worden doorgestuurd.
  • ๐Ÿ“Š Kibana: Een webdashboard dat geรฏndexeerde gegevens omzet in interactieve grafieken, kaarten en diagrammen voor snelle verkenning.
  • ???? Elastische stapel: Lightweight Beats-verzenders verzamelen gegevens aan de rand van het netwerk, wat Elastic ertoe bracht ELK om te dopen tot Elastic Stack.
  • ๐Ÿข Productiegebruik: NetflixLinkedIn en Medium gebruiken ELK op grote clusters voor logging, beveiliging en monitoring.
  • โ€‹ ELK versus Splunk: ELK is gratis en open source, terwijl Splunk een commercieel platform is met snellere verwerking en bredere integratiemogelijkheden.

ELK Stack-architectuur die laat zien hoe Kibana, LogstashElasticsearch werkt samen voor gecentraliseerde logboekregistratie en analyses.

De ELK Stack is een van de meest gebruikte open-source oplossingen voor gecentraliseerde logging en loganalyse. Deze ELK Stack-handleiding legt uit wat Elasticsearch, LogstashKibana en de andere tools worden besproken, hoe de drie tools op elkaar aansluiten en waar het platform in de praktijk wordt gebruikt voor monitoring en observability.

Wat is de ELK-stapel?

De ELK stapel is een verzameling van drie open-sourceproducten: Elasticsearch, Logstashen Kibana. Het biedt gecentraliseerde logboekregistratie waarmee u problemen met servers of applicaties kunt identificeren door al uw logboeken op รฉรฉn plek te doorzoeken. Het helpt u ook bij het correleren van logboeken van meerdere servers binnen een specifiek tijdsbestek.

  • E staat voor Elasticsearch: gebruikt voor het opslaan van logbestanden.
  • L staat voor Logstash: gebruikt voor schipping, het verwerken en opslaan van logbestanden.
  • K staat voor Kibana: een visualisatie tool (een webinterface) die wordt gehost via Nginx of Apache.

Elasticsearch, Logstash, en Kibana worden allemaal ontwikkeld, beheerd en onderhouden door een bedrijf genaamd Elastische.

De ELK Stack is ontworpen om gebruikers in staat te stellen gegevens uit elke bron, in elk formaat, te gebruiken en deze vervolgens in realtime te doorzoeken, analyseren en visualiseren.

ELK stapel Architectuur

Nu je weet wat de stack is, legt dit gedeelte de ELK-architectuur uit en hoe gegevens tussen de componenten stromen.

De ELK-pipeline volgt een duidelijke volgorde waarin elke tool een specifieke taak heeft:

  • logs: De serverlogbestanden die geanalyseerd moeten worden, zijn geรฏdentificeerd.
  • Logstash: Het verzamelt de logbestanden en gebeurtenisgegevens, analyseert en transformeert deze vervolgens.
  • Elastisch zoeken: De gegevens getransformeerd door Logstash wordt opgeslagen, doorzocht en geรฏndexeerd.
  • Kibana: Maakt gebruik van de Elasticsearch-database om inzichten te verkennen, te visualiseren en te delen.

Een vierde component, genaamd Beats, wordt echter vaak toegevoegd voor het verzamelen van gegevens. Beats zijn lichtgewicht verzendprogramma's die op servers worden geรฏnstalleerd, en de toevoeging ervan leidde ertoe dat Elastic ELK hernoemde naar Elastic Stack.

Architectuurdiagram van de ELK Stack, dat de LogstashElasticsearch en Kibana dataflow

Bij het verwerken van zeer grote hoeveelheden data kunt u Kafka of RabbitMQ vรณรณr de pipeline plaatsen voor buffering en redundantie.

Voor extra beveiliging kan een reverse proxy zoals Nginx vรณรณr de stack worden geplaatst.

ELK Stack-architectuur met Beats toegevoegd voor dataverzameling

Met de architectuur in gedachten, worden in de volgende secties de open-sourceproducten in de stack nader bekeken.

Wat is Elasticsearch?

Elasticsearch is een NoSQL-database Gebaseerd op de Lucene-zoekmachine en gebouwd met RESTful API's. Het biedt eenvoudige implementatie, hoge betrouwbaarheid en gemakkelijk beheer, en het slaat al uw gegevens centraal op, zodat u geavanceerde zoekopdrachten en snelle documentzoekopdrachten kunt uitvoeren.

Elasticsearch biedt ook de mogelijkheid om grote hoeveelheden data op te slaan, te doorzoeken en te analyseren. Het wordt vaak gebruikt als de onderliggende engine voor applicaties met veeleisende zoekvereisten.

Omdat Elasticsearch naast snel zoeken ook analyses en vele geavanceerde functies biedt, is het breed geaccepteerd in zoekplatformen voor moderne web- en mobiele applicaties.

Kenmerken van Elasticsearch

Elasticsearch biedt een uitgebreide reeks mogelijkheden voor het indexeren en doorzoeken van gegevens:

  • Een open-source zoekserver geschreven in Java.
  • Geschikt voor het indexeren van alle soorten heterogene data.
  • Biedt een REST API-webinterface met JSON-uitvoer.
  • Zoeken in de volledige tekst.
  • Zoeken in bijna realtime (NRT).
  • Een gesharde, gerepliceerde, doorzoekbare JSON-documentopslag.
  • Schema-vrije, op REST en JSON gebaseerde, gedistribueerde documentopslag.
  • Ondersteuning voor meerdere talen en geolocatie.

Voordelen van Elasticsearch

  • Slaat schema-loze data op en kan ook een schema voor uw data creรซren.
  • Hiermee kunt u records รฉรฉn voor รฉรฉn bewerken met behulp van API's voor meerdere documenten.
  • Biedt ondersteuning voor het filteren en opvragen van uw gegevens voor inzichten.
  • Gebaseerd op Apache Lucene en biedt een RESTful API.
  • Biedt horizontale schaalbaarheid, betrouwbaarheid en multi-tenant mogelijkheden voor realtime indexering en sneller zoeken.
  • Hiermee kunt u zowel verticaal als horizontaal schalen.

De onderstaande tabel legt de belangrijkste termen uit die u zult tegenkomen bij het werken met Elasticsearch:

Termijn Gebruik
Cluster Een cluster is een verzameling knooppunten die samen uw gegevens bevatten en gecombineerde indexerings- en zoekmogelijkheden bieden.
Knooppunt Een node is een enkele Elasticsearch-instantie. Deze wordt aangemaakt wanneer een Elasticsearch-instantie start.
Index Een index is een verzameling documenten met vergelijkbare kenmerken, zoals klantgegevens of een productcatalogus. Een index is handig voor indexerings-, zoek-, update- en verwijderingsbewerkingen, en je kunt meerdere indexen in รฉรฉn cluster definiรซren.
Document Een document is de basiseenheid van informatie die kan worden geรฏndexeerd. Het wordt weergegeven als een JSON-sleutel-waardepaar, en elk document is gekoppeld aan een type en een unieke ID.
scherf Elke index kan worden opgesplitst in meerdere shards om gegevens te verdelen. Een shard is het atomaire deel van een index en kan over het cluster worden verspreid naarmate er meer knooppunten worden toegevoegd.

Wat is Logstash?

Logstash Dit is de tool voor de dataverzamelingspipeline van de stack. Het verzamelt data-inputs en voert deze in Elasticsearch in, waarbij alle soorten data uit verschillende bronnen worden verzameld en beschikbaar worden gemaakt voor verder gebruik.

Logstash Hiermee kunt u gegevens uit verschillende bronnen samenvoegen en normaliseren naar de door u gekozen bestemmingen. Dit stelt u in staat al uw gegevens te zuiveren en toegankelijk te maken voor een breed scala aan analyses en visualisaties.

Het bestaat uit drie componenten:

  • Input: Verwerkt logbestanden en zet ze om in een machineleesbaar formaat.
  • Filters: Een reeks voorwaarden die een bepaalde actie uitvoeren op een gebeurtenis.
  • Output: de beslisser die elke verwerkte gebeurtenis of log doorstuurt.

Kenmerken van Logstash

Logstash Bevat diverse functies die de logverwerking flexibel maken:

  • Gebeurtenissen doorlopen elke fase via interne wachtrijen.
  • Hiermee kunt u verschillende invoeropties voor uw logboeken gebruiken.
  • Ondersteunt het filteren en parseren van uw logbestanden.

Voordelen Logstash

  • Centraliseert uw gegevensverwerking.
  • Analyseert een breed scala aan gestructureerde en ongestructureerde data en gebeurtenissen.
  • Biedt plug-ins voor verbinding met diverse soorten invoerbronnen en platforms.

Wat is Kibana?

Kibana is de datavisualisatietool die de ELK Stack compleet maakt. Het wordt gebruikt om Elasticsearch-documenten te visualiseren en helpt ontwikkelaars snel inzicht te krijgen in hun data door middel van interactieve diagrammen, geodata en grafieken die complexe query's eenvoudig te begrijpen maken.

Met Kibana kunt u gegevens in Elasticsearch-indexen zoeken, bekijken en ermee interageren. Het helpt u ook bij het uitvoeren van geavanceerde bewerkingen. gegevensanalyse en presenteer uw gegevens in diverse tabellen, grafieken en kaarten.

Kibana ondersteunt verschillende methoden om uw gegevens te doorzoeken. De meest voorkomende zoektypen staan โ€‹โ€‹hieronder vermeld:

Zoektype Gebruik
Vrije tekstzoekopdrachten Wordt gebruikt om naar een specifieke tekenreeks te zoeken.
Zoeken op veldniveau Wordt gebruikt om een โ€‹โ€‹tekenreeks binnen een specifiek veld te zoeken.
Logische uitspraken Wordt gebruikt om zoekopdrachten te combineren tot een logische bewering.
Zoeken in de buurt Wordt gebruikt voor het zoeken naar termen die zich binnen een specifieke tekenafstand bevinden.

Kibana biedt ook een aantal krachtige functies voor het verkennen van geรฏndexeerde gegevens:

  • Een krachtig front-end dashboard dat geรฏndexeerde informatie uit het Elasticsearch-cluster visualiseert.
  • Maakt realtime zoeken in geรฏndexeerde informatie mogelijk.
  • Hiermee kunt u gegevens die in Elasticsearch zijn opgeslagen zoeken, bekijken en ermee interageren.
  • Voert query's uit op gegevens en visualiseert de resultaten in grafieken, tabellen en kaarten.
  • Een configureerbaar dashboard om gegevens te analyseren en te filteren. Logstash logs in Elasticsearch.
  • Biedt historische gegevens in de vorm van grafieken, diagrammen en meer.
  • Biedt realtime dashboards die eenvoudig te configureren zijn.

Voordelen en nadelen van Kibana

Net als elk ander hulpmiddel heeft Kibana duidelijke sterke punten die de populariteit ervan verklaren:

  • Eenvoudige visualisatie van gegevens.
  • Volledig geรฏntegreerd met Elasticsearch.
  • Het fungeert als een speciaal visualisatiehulpmiddel.
  • Biedt realtime analyse, grafieken, samenvattingen en foutopsporing.
  • Biedt een intuรฏtieve, gebruiksvriendelijke interface.
  • Hiermee kunt u momentopnamen delen van de logbestanden die u hebt doorzocht.
  • Hiermee kunt u meerdere dashboards opslaan en beheren.

Het kent echter ook een paar beperkingen waar je rekening mee moet houden:

  • Het werkt alleen met Elasticsearch als gegevensbron.
  • Het bouwen en afstellen van complexe dashboards kan een flinke leercurve vergen.

Waarom loganalyse?

In cloudgebaseerde infrastructuren zijn prestaties en isolatie van groot belang.

De prestaties van virtuele machines in de cloud kunnen variรซren afhankelijk van de specifieke belasting, de omgeving en het aantal actieve gebruikers. Hierdoor kunnen betrouwbaarheidsproblemen en het uitvallen van knooppunten aanzienlijke gevolgen hebben.

A logbeheerplatform Het kan al deze problemen monitoren. Het kan ook logboeken van het besturingssysteem, Nginx- en IIS-webserverlogboeken voor verkeersanalyse, applicatielogboeken en logboeken die op AWS worden gegenereerd verwerken.Amazon Web Services).

Uiteindelijk helpt logbeheer DevOps Ingenieurs en systeembeheerders nemen betere, datagestuurde beslissingen. Daarom is loganalyse via Elastic Stack of vergelijkbare tools essentieel geworden.

ELK versus Splunk

Een veelgestelde vraag is hoe de ELK Stack zich verhoudt tot... Splunk, een populair commercieel alternatief. De onderstaande tabel vat de belangrijkste verschillen samen:

ELK Splunk
ELK is een open-source tool. Splunk is een commercieel hulpmiddel.
ELK biedt niet aan Solaris draagbaarheid dankzij Kibana. Splunk aanbiedingen Solaris draagbaarheid.
De verwerkingssnelheid is strikt beperkt. Biedt nauwkeurige en snelle verwerking.
ELK is een technologieplatform dat is ontstaan โ€‹โ€‹uit de combinatie van Elasticsearch, Logstashen Kibana. Splunk is een eigen tool die zowel on-premise als cloudoplossingen biedt.
In ELK zijn zoeken, analyseren en visualiseren pas mogelijk nadat de stack is ingesteld. Splunk is een compleet data managementpakket dat direct gebruiksklaar is.
ELK biedt slechts beperkte ingebouwde integratie met andere tools. Splunk is handig voor het opzetten van integraties met andere tools.

Casestudies

Veel bekende bedrijven vertrouwen op de ELK Stack voor het uitvoeren van logging en analyses op grote schaal. De onderstaande voorbeelden laten zien hoe het in productie wordt gebruikt.

Netflix

Netflix vertrouwt sterk op de ELK Stack voor het monitoren en analyseren van de beveiligingslogboeken van haar klantenserviceactiviteiten. Het platform maakt het mogelijk Netflix Documenten indexeren, opslaan en doorzoeken in meer dan vijftien clusters, bestaande uit ongeveer 800 knooppunten.

LinkedIn

De professionele netwerksite LinkedIn gebruikt de ELK Stack om de prestaties en beveiliging te monitoren. Het team heeft ELK geรฏntegreerd met Kafka om de belasting in realtime te verwerken, en de operatie omvat meer dan 100 clusters in zes datacenters.

Tripwire

Tripwire, een wereldwijde leverancier van Security Information and Event Management (SIEM)-oplossingen, gebruikt de ELK Stack ter ondersteuning van de analyse van informatiepakketlogboeken.

Medium

Medium, het populaire blogplatform, gebruikt de ELK Stack om productieproblemen op te sporen en te detecteren. DynamoDB hotspots. De technologie helpt het bedrijf om 25 miljoen unieke lezers en duizenden nieuwe berichten per week te ondersteunen.

Voordelen en nadelen van ELK Stack

Voordelen

De ELK Stack biedt diverse voordelen die de wijdverbreide toepassing ervan verklaren:

  • Het werkt het beste wanneer logbestanden van de verschillende applicaties binnen een onderneming samenkomen in รฉรฉn ELK-instantie.
  • Het biedt waardevolle inzichten vanuit รฉรฉn enkele instantie en maakt het overbodig om in te loggen op honderden afzonderlijke gegevensbronnen.
  • Snelle installatie op locatie.
  • Eenvoudig te implementeren en zowel verticaal als horizontaal schaalbaar.
  • Elastic biedt clients voor vele programmeertalen, waaronder Ruby. Python, PHP, Perl, .NET, Javaen JavaScript.
  • Voor veel programmeer- en scripttalen zijn bibliotheken beschikbaar.

Nadelen

Ondanks de sterke punten kent de ELK Stack ook een paar nadelen waar je rekening mee moet houden:

  • De verschillende componenten kunnen lastiger te beheren worden naarmate de configuratie complexer wordt.
  • Er is zeker een leercurve, dus verwacht dat je zult experimenteren naarmate je meer ervaring opdoet.

Veelgestelde vragen

Beats zijn lichtgewicht, open-source dataverzenders die als agents op servers worden geรฏnstalleerd. Filebeat stuurt logbestanden door en Metricbeat verzamelt systeemstatistieken. Ze verzenden gegevens rechtstreeks naar Elasticsearch of via een tussenliggende server. LogstashDoor Beats toe te voegen voor dataverzameling, heeft Elastic de ELK Stack hernoemd naar Elastic Stack.

ELK staat voor Elasticsearch. Logstashen Kibana. Toen Elastic Beats, de reeks lichtgewicht dataverzendtools, toevoegde, werd het gecombineerde product omgedoopt tot Elastic Stack. Elastic Stack beschrijft daarom dezelfde drie tools plus Beats en extra functies zoals beveiliging en machine learning.

Ja. Elasticsearch, LogstashElasticsearch en Kibana zijn gratis te downloaden. Sinds 2024 biedt Elasticsearch en Kibana aan onder de open-source AGPLv3-licentie, naast de SSPL en de Elastic License. Geavanceerde functies zoals machine learning en alerting vereisen een betaald abonnement.

Elasticsearch is een schema-flexibele, documentgeoriรซnteerde NoSQL-database gebouwd op Apache Lucene en toegankelijk via een REST API. Relationele databases gebruiken vaste tabellen, rijen en SQL met ACID-transacties. Elasticsearch is geoptimaliseerd voor full-text zoeken en bijna realtime analyses in plaats van strikte transactionele consistentie.

Productieknooppunten hebben doorgaans minstens 16 GB RAM nodig, waarbij de JVM-heap is ingesteld op ongeveer 50 procent van het geheugen en onder de 30 GB blijft. Kleine test- of standalone-omgevingen draaien met minder. Beats en Logstash Vereist veel minder resources dan Elasticsearch.

Grok is een Logstash Een filterplugin die ongestructureerde logregels parseert in gestructureerde, benoemde velden met behulp van herbruikbare patronen gebaseerd op reguliere expressies. Het wordt veel gebruikt om...tracTijdstempels, IP-adressen en statuscodes uit webserver- en applicatielogboeken worden verzameld voordat ze in Elasticsearch worden geรฏndexeerd.

Elasticsearch bevat ingebouwde machine learning die het normale loggedrag modelleert en automatisch afwijkingen signaleert. Deze AIOps-functies groeperen vergelijkbare berichten, detecteren ongebruikelijke volumes en versnellen de analyse van de hoofdoorzaak, waardoor de gemiddelde oplostijd wordt verkort. Technici moeten de gesignaleerde gebeurtenissen echter nog steeds beoordelen voordat ze actie ondernemen.

Ja. Hulpmiddelen zoals ChatGPT en GitHub-copiloot kan opstellen Logstash Begrijp patronen, Elasticsearch Query DSL en Kibana-instellingen via een korte prompt. Test gegenereerde pipelines altijd, omdat AI mogelijk verouderde veldnamen of verouderde syntax gebruikt.

Vat dit bericht samen met: