ELK Stack-tutorial: Wat is Kibana, Logstash & Elastisch zoeken?

Wat is de ELK-stapel?

De ELK stapel is een verzameling van drie open-sourceproducten: Elasticsearch, Logstashen Kibana. ELK-stack biedt gecentraliseerde logboekregistratie om problemen met servers of applicaties te identificeren. Hiermee kunt u alle logboeken op één plek doorzoeken. Het helpt ook om problemen op meerdere servers te vinden door logs gedurende een specifiek tijdsbestek met elkaar te verbinden.

  • E staat voor ElasticSearch: gebruikt voor het opslaan van logs
  • L staat voor LogStash: wordt gebruikt voor zowel het verzenden als het verwerken en opslaan van logs
  • K staat voor Kibana: is een visualisatie tool (een webinterface) die wordt gehost via Nginx of Apache

ElasticSearch, LogStash en Kibana worden allemaal ontwikkeld, beheerd en onderhouden door het bedrijf Elastic.

ELK Stack is ontworpen om gebruikers in staat te stellen gegevens uit elke bron en in elk formaat te halen en die gegevens in realtime te doorzoeken, analyseren en visualiseren.

ELK stapel Architectuur

In deze ELK-stack-zelfstudie leren we over ELK-architectuur:

Dit is de eenvoudige architectuur van de ELK-stack

ELK stapel Architectuur
ELK stapel Architectuur
  • logs: Serverlogboeken die moeten worden geanalyseerd, worden geïdentificeerd
  • Logstash: Verzamel log- en gebeurtenisgegevens. Het parseert en transformeert zelfs gegevens
  • Elastisch zoeken: De getransformeerde gegevens van Logstash is Opslaan, zoeken en geïndexeerd.
  • Kibana: Kibana gebruikt Elasticsearch DB om te verkennen, visualiseren en delen

Er is echter nog een component nodig of gegevensverzameling genaamd Beats. Dit bracht Elastic ertoe om ELK te hernoemen tot Elastic Stack.

ELK stapel Architectie met Beats

Bij het werken met zeer grote hoeveelheden data, hebt u mogelijk Kafka, RabbitMQ nodig voor buffering en veerkracht. Voor beveiliging kan nginx worden gebruikt.

ELK stapel Architectuur

Nu in deze Elastic Stack-tutorial, Laten we eens dieper ingaan op al deze open source-producten:

Wat is Elasticsearch?

Elasticsearch is een NoSQL-database. Het is gebaseerd op de Lucene-zoekmachine en is gebouwd met RESTful APIS. Het biedt eenvoudige implementatie, maximale betrouwbaarheid en eenvoudig beheer. Het biedt ook geavanceerde queries om detailanalyses uit te voeren en slaat alle gegevens centraal op. Het is handig voor het snel doorzoeken van de documenten.

Elasticsearch stelt u ook in staat om grote hoeveelheden data op te slaan, te doorzoeken en te analyseren. Het wordt vooral gebruikt als de onderliggende engine voor applicaties die zoekvereisten voltooien. Het is geadopteerd in zoekmachineplatforms voor moderne web- en mobiele applicaties. Naast een snelle zoekopdracht biedt de tool ook complexe analyses en veel geavanceerde functies.

Kenmerken van elastisch zoeken

  • Open source zoekserver is geschreven met behulp van Java
  • Wordt gebruikt om alle soorten heterogene gegevens te indexeren
  • Heeft een REST API-webinterface met JSON-uitvoer
  • Zoek volledige text
  • Zoeken in bijna realtime (NRT).
  • Gedeelde, gerepliceerde, doorzoekbare JSON-documentopslag
  • Schemavrije, op REST & JSON gebaseerde gedistribueerde documentopslag
  • Ondersteuning voor meerdere talen en geolocatie

Voordelen van Elasticsearch

  • Bewaar schemaloze gegevens en creëer ook een schema voor uw gegevens
  • Manipuleer uw gegevensrecord voor record met behulp van Multi-document API's
  • Voer filtering en query's uit op uw gegevens voor inzichten
  • Gebaseerd op Apache Lucene en biedt RESTful API
  • Biedt horizontale schaalbaarheid, betrouwbaarheid en multitenant-mogelijkheden voor realtime gebruik van indexering om sneller zoeken mogelijk te maken
  • Helpt u verticaal en horizontaal te schalen

Belangrijke termen die worden gebruikt in Elastic Search

Laten we nu in deze ELK-tutorial meer leren over de belangrijkste termen die in ElasticSearch worden gebruikt:

Termijn Gebruik
Cluster Een cluster is een verzameling knooppunten die gezamenlijk gegevens bevatten en gecombineerde indexerings- en zoekmogelijkheden bieden.
Knooppunt Een knooppunt is een elasticsearch-instantie. Het wordt gemaakt wanneer een elasticsearch-instantie begint.
Index Een index is een verzameling documenten met vergelijkbare kenmerken, bijvoorbeeld klantgegevens, productcatalogus. Het is erg handig bij het uitvoeren van indexerings-, zoek-, update- en verwijderbewerkingen. Het stelt u in staat om zoveel indexen in één cluster te definiëren.
Document Het is de basiseenheid van informatie die kan worden geïndexeerd. Het wordt uitgedrukt in een JSON-paar (sleutel: waarde). '{“gebruiker”: “nullcon”}'. Elk afzonderlijk document is gekoppeld aan een type en een unieke ID.
scherf Elke index kan worden gesplitst in meerdere shards om data te kunnen distribueren. De shard is het atomaire deel van een index, die kan worden gedistribueerd over het cluster als u meer nodes wilt toevoegen.

Wat is Logstash?

Logstash is de pijplijntool voor gegevensverzameling. Het verzamelt gegevensinvoer en wordt ingevoerd in Elasticsearch. Het verzamelt alle soorten gegevens uit de verschillende bronnen en stelt deze beschikbaar voor verder gebruik.

Logstash kan gegevens uit ongelijksoortige bronnen verenigen en de gegevens normaliseren naar de door u gewenste bestemmingen. Hiermee kunt u al uw gegevens opschonen en democratiseren voor analyse en visualisatie van gebruiksscenario's.

Het bestaat uit drie componenten:

  • Invoer: logboeken doorgeven om ze te verwerken in een machinaal begrijpelijk formaat
  • Filters: Het is een reeks voorwaarden om een ​​bepaalde actie of gebeurtenis uit te voeren
  • uitgang: Beslisser voor verwerkte gebeurtenis of logboek

Kenmerken van Logstash

In deze LogStash-zelfstudie gaan we dieper in op de functies van LogStash:

  • Gebeurtenissen worden elke fase doorlopen met behulp van interne wachtrijen
  • Maakt verschillende invoer voor uw logboeken mogelijk
  • Filteren/parseren voor uw logboeken

Voordeel van Logstash

  • Aanbiedingen centraliseren de gegevensverwerking
  • Het analyseert een grote verscheidenheid aan gestructureerde/ongestructureerde gegevens en gebeurtenissen
  • ELK LogStash biedt plug-ins om verbinding te maken met verschillende soorten invoerbronnen en platforms

Wat is Kibana?

Kibana is een datavisualisatie die de ELK-stack completeert. Deze tool wordt gebruikt voor het visualiseren van de Elasticsearch-documenten en helpt ontwikkelaars om er snel inzicht in te krijgen. Kibana-dashboard biedt verschillende interactieve diagrammen, georuimtelijke gegevens en grafieken om complexe quires te visualiseren.

Het kan worden gebruikt voor het zoeken, bekijken en gebruiken van gegevens die zijn opgeslagen in Elasticsearch-mappen. Kibana helpt je om geavanceerd te presteren gegevensanalyse en visualiseer uw gegevens in verschillende tabellen, grafieken en kaarten.

In Kibana zijn er verschillende methoden om zoekopdrachten uit te voeren op uw gegevens.

Dit zijn de meest voorkomende zoektypen:

Zoektype Gebruik
Vrije tekstzoekopdrachten Het wordt gebruikt om een ​​specifieke string te zoeken
Zoeken op veldniveau Het wordt gebruikt om te zoeken naar een tekenreeks binnen een specifiek veld
Logische uitspraken Het wordt gebruikt om zoekopdrachten te combineren tot een logische verklaring.
Zoeken in de buurt Het wordt gebruikt voor het zoeken naar termen binnen een specifieke tekenafstand.

Laten we nu in deze Kibana-tutorial meer leren over de belangrijke functies van Kibana:

Kenmerken van Kinbana:

  • Krachtig front-end dashboard dat geïndexeerde informatie van de elastische cluster kan visualiseren
  • Maakt real-time zoeken naar geïndexeerde informatie mogelijk
  • U kunt gegevens zoeken, bekijken en gebruiken die zijn opgeslagen in Elasticsearch
  • Voer zoekopdrachten uit op gegevens en visualiseer resultaten in grafieken, tabellen en kaarten
  • Configureerbaar dashboard om logstash-logs in Elasticsearch te segmenteren en te verdelen
  • In staat om historische gegevens te verstrekken in de vorm van grafieken, diagrammen, enz.
  • Realtime dashboards die eenvoudig te configureren zijn
  • Kibana ElasticSearch maakt real-time zoeken naar geïndexeerde informatie mogelijk

Voor- en nadelen van Kinbana

  • Gemakkelijk visualiseren
  • Volledig geïntegreerd met Elasticsearch
  • Visualisatietool
  • Biedt realtime analyse, grafieken, samenvattingen en foutopsporingsmogelijkheden
  • Biedt een instinctieve en gebruiksvriendelijke interface
  • Maakt het delen van momentopnamen van de doorzochte logboeken mogelijk
  • Maakt het mogelijk het dashboard op te slaan en meerdere dashboards te beheren

Waarom loganalyse?

In cloudgebaseerde omgevingsinfrastructuren zijn prestaties en isolatie erg belangrijk. De prestaties van virtuele machines in de cloud kunnen variëren, afhankelijk van de specifieke belasting, omgevingen en het aantal actieve gebruikers in het systeem. Daarom kunnen betrouwbaarheid en knooppuntstoringen een groot probleem worden.

Platform voor logboekbeheer kan alle hierboven genoemde problemen bewaken en ook de logs van het besturingssysteem, NGINX, IIS-serverlogs voor webverkeersanalyse, toepassingslogs en logs op AWS verwerken (Amazon webservices).

Logbeheer helpt DevOps-ingenieurs en systeembeheerders betere zakelijke beslissingen te nemen. Daarom is loganalyse via Elastic Stack of soortgelijke tools belangrijk.

ELK versus Splunk

eland Splunk
Elk is een open source-tool Splunk is een commercieel hulpmiddel.
Elk Stack biedt niet Solaris Draagbaarheid dankzij Kibana. Splunk aanbiedingen Solaris Draagbaarheid.
De verwerkingssnelheid is strikt beperkt. Biedt nauwkeurige en snelle processen.
ELK is een technologiestapel gemaakt met de combinatie Elastic Search-Logstash-Kibana. Splunk is een eigen tool. Het biedt zowel on-premise als cloudoplossingen.
In ELK zijn zoeken, analyse en visualisatie pas mogelijk nadat de ELK-stack is ingesteld. Splunk is een compleet databeheerpakket dat tot uw beschikking staat.
De ELK-tool ondersteunt geen integratie met andere tools. Splunk is een handige tool voor het opzetten van integraties met andere tools.

Case studies

Netflix

Netflix vertrouwt zwaar op ELK stack. Het bedrijf gebruikt ELK stack om het beveiligingslogboek van de klantenservice te monitoren en analyseren. Hiermee kunnen ze documenten indexeren, opslaan en doorzoeken uit meer dan vijftien clusters die bijna 800 nodes omvatten.

LinkedIn

De bekende social media marketing site LinkedIn gebruikt ELK stack om prestaties en beveiliging te monitoren. Het IT-team integreerde ELK met Kafka om hun belasting in realtime te ondersteunen. Hun ELK-operatie omvat meer dan 100 clusters verspreid over zes verschillende datacenters.

Tripwire

Tripwire is een wereldwijd Security Information Event Management-systeem. Het bedrijf gebruikt ELK ter ondersteuning van de loganalyse van informatiepakketten.

Medium

Medium is een beroemd blogpublicatieplatform. Ze gebruiken de ELK-stack om hun productieproblemen op te lossen. Het bedrijf gebruikt ook ELK om te detecteren DynamoDB kookpotten. Bovendien kan het bedrijf met deze stapel 25 miljoen unieke lezers en duizenden gepubliceerde berichten per week ondersteunen.

Voor- en nadelen van ELK-stack

Voordelen

  • ELK werkt het beste wanneer logboeken van verschillende apps van een onderneming samenkomen in één ELK-instantie
  • Het biedt verbazingwekkende inzichten voor dit ene exemplaar en elimineert ook de noodzaak om in te loggen op honderd verschillende loggegevensbronnen
  • Snelle installatie op locatie
  • Eenvoudig in te zetten Schaalt verticaal en horizontaal
  • Elastic biedt een groot aantal taalclients, waaronder Ruby. Python. PHP, Perl, .NET, Javaen kan manueel of geautomatiseerd JavaScript, en meer
  • Beschikbaarheid van bibliotheken voor verschillende programmeer- en scripttalen

Nadelen

  • Verschillende componenten in de stapel kunnen moeilijk te hanteren worden wanneer u overgaat op een complexe opstelling
  • Er gaat niets boven vallen en opstaan. Dus hoe meer je doet, hoe meer je gaandeweg leert

Samenvatting

  • Gecentraliseerde logboekregistratie kan handig zijn bij het identificeren van problemen met servers of applicaties
  • ELK-serverstack is handig om problemen op te lossen die verband houden met het gecentraliseerde logsysteem
  • ELK-stack is een verzameling van drie open source-tools Elasticsearch, Logstash Kibana
  • Elasticsearch is een NoSQL-database
  • Logstash is de pijplijntool voor gegevensverzameling
  • Kibana is een datavisualisatie die de ELK-stack compleet maakt
  • In cloudgebaseerde omgevingsinfrastructuren zijn prestaties en isolatie erg belangrijk
  • In ELK is de verwerkingssnelheid van de stapel strikt beperkt, terwijl Splunk biedt nauwkeurige en snelle processen
  • Netflix, LinkedIn, Tripware en Medium gebruiken allemaal de ELK-stack voor hun bedrijf
  • ELK Syslog werkt het beste wanneer logboeken van verschillende apps van een onderneming samenkomen in één ELK-instantie
  • Verschillende componenten in de stapel kunnen moeilijk te hanteren worden wanneer u overgaat op een complexe opstelling

Verwijs onze Vragen en antwoorden over ElasticSearch-interviews voor zowel nieuwe als ervaren kandidaten.