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

Wat is de ELK-stapel?

Het 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 : gebruikt voor zowel verzending als het verwerken en opslaan van logboeken
  • K staat voor Kibana: is een visualisatie tool (een webinterface) die wordt gehost via Nginx of Apache

Elastisch zoeken, LogStash en Kibana zijn 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-tutorial zullen we nu over ELK leren archistructuur:

Hier is het simpele archistructuur van ELK-stapel

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

Als u met zeer grote hoeveelheden gegevens te maken heeft, heeft u mogelijk Kafka en RabbitMQ nodig bufferen veerkracht. Voor de veiligheid 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.

Met Elasticsearch kunt u ook grote hoeveelheden gegevens opslaan, doorzoeken en analyseren. Het wordt meestal gebruikt als de onderliggende engine voor het aandrijven van applicaties die aan de zoekvereisten voldoen. Het is overgenomen in zoekmachineplatforms voor moderne web- en mobiele applicaties. Naast een snelle zoekactie biedt de tool ook complex analyses en vele geavanceerde functies.

Kenmerken van elastisch zoeken

  • Open source zoekserver is geschreven met Java
  • Wordt gebruikt om elke vorm van heteroge te indexerenneoons gegevens
  • 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
TROS Een cluster is een verzameling knooppunten die samen gegevens bevatten en gezamenlijke 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. Hiermee kunt u zoveel mogelijk indexen in één cluster 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 in verschillende shards worden opgesplitst om gegevens te kunnen distribueren. De scherf is de atomic onderdeel van een index, die over het cluster kan worden gedistribueerd als u meer knooppunten 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

Nu in dit LogStash tutorial, laten we meer te weten komen over 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 compleet maakt. Deze tool wordt gebruikt voor het visualiseren van de Elasticsearch-documenten en helpt ontwikkelaars om er snel inzicht in te krijgen. Het Kibana-dashboard biedt verschillende interactieve diagrammen, georuimtelijke gegevens en grafieken om com te visualiserenplex katernen.

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 voor bijvarchieen specifieke string uitvoeren
Zoeken op veldniveau Het wordt gebruikt voor bijvarching voor een string 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 bijvarchitermen binnen een specifieke karakternabijheid.

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 uit het 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 te snijden en te snijden logstash logt in bij elasticsearch
  • 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-, grafiek-, samenvatting- 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 bovengenoemde problemen monitoren, evenals proceslogboeken van het besturingssysteem, NGINX, IIS-serverlogboek voor analyse van webverkeer, applicatielogboeken en logs op AWS (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 geen Solaris-portabiliteit vanwege Kibana. Splunk biedt Solaris-portabiliteit.
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 Searching, analyse en visualisatie zijn alleen 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 is sterk afhankelijk van de ELK-stack. Het bedrijf gebruikt de 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 knooppunten omvatten.

LinkedIn

De beroemde sociale media-marketingsite LinkedIn gebruikt de ELK-stack om de prestaties en beveiliging te monitoren. Het IT-team integreerde ELK met Kafka om hun werk 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, Java en JavaScript, en meer
  • Beschikbaarheid van bibliotheken voor verschillende programmeer- en scripttalen

Nadelen

  • Verschillende componenten in de stapel kunnen moeilijk te hanteren worden als je doorgaat naar complex setup
  • Er gaat niets boven vallen en opstaan. Dus hoe meer je doet, hoe meer je gaandeweg leert

Samengevat

  • 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 als je doorgaat naar complex setup

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