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.

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.
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.
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.
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.


