ELK Stack Tutorial: Mikä on Kibana, Logstash & Elasticsearch?
Mikä on ELK Stack?
- ELK-pino on kokoelma kolmesta avoimen lähdekoodin tuotteesta - Elasticsearch, Logstashja Kibana. ELK-pino tarjoaa keskitetyn kirjauksen palvelimien tai sovellusten ongelmien tunnistamiseksi. Sen avulla voit etsiä kaikkia lokeja yhdestä paikasta. Se auttaa myös löytämään ongelmia useissa palvelimissa yhdistämällä lokit tietyn ajanjakson aikana.
- E tulee sanoista ElasticSearch: käytetään lokien säilyttämiseen
- L tulee sanoista LogStash: käytetään sekä kuljetukseen että tukkien käsittelyyn ja varastointiin
- K tarkoittaa Kibanaa: on a visualisointityökalu (verkkokäyttöliittymä), jota isännöi Nginx tai Apache
ElasticSearchin, LogStashin ja Kibanan kaikki kehittävät, hallinnoivat ja ylläpitävät Elastic-niminen yritys.
ELK Stack on suunniteltu antamaan käyttäjille mahdollisuus ottaa tietoja mistä tahansa lähteestä missä tahansa muodossa ja etsiä, analysoida ja visualisoida tietoja reaaliajassa.
ELK-pino Archirakenne
Nyt tässä ELK-pinon opetusohjelmassa opimme ELK-arkkitehtuurista:
Tässä on ELK-pinon yksinkertainen arkkitehtuuri
- lokit: Palvelinlokit, jotka on analysoitava, tunnistetaan
- Logstash: Kerää lokit ja tapahtumatiedot. Se jopa jäsentää ja muuntaa tietoja
- ElasticSearch: Muunnetut tiedot kohteesta Logstash is Tallenna, Hae ja indeksoitu.
- Kibana: Kibana käyttää Elasticsearch DB:tä tutkimiseen, visualisoimiseen ja jakamiseen
Tarvitaan kuitenkin vielä yksi komponentti tai tiedonkeruu nimeltä Beats. Tämä sai Elasticin nimeämään ELK:n uudelleen Elastic Stackiksi.
Kun käsittelet erittäin suuria tietomääriä, saatat tarvita Kafkaa, RabbitMQ:ta puskurointiin ja kestävyyteen. Turvallisuuden vuoksi voidaan käyttää nginxiä.
Nyt tässä Elastic-pinon opetusohjelmassa Tutustutaanpa kaikkiin näihin avoimen lähdekoodin tuotteisiin:
Mikä on Elasticsearch?
Elasticsearch on a NoSQL-tietokanta. Se perustuu Lucenen hakukoneeseen, ja se on rakennettu RESTful APIS:illa. Se tarjoaa yksinkertaisen käyttöönoton, maksimaalisen luotettavuuden ja helpon hallinnan. Se tarjoaa myös edistyneitä kyselyitä yksityiskohtien analysointiin ja tallentaa kaikki tiedot keskitetysti. Se on hyödyllinen asiakirjojen nopean haun suorittamisessa.
Elasticsearchin avulla voit myös tallentaa, etsiä ja analysoida suuria tietomääriä. Sitä käytetään enimmäkseen taustamoottorina hakuvaatimukset täyttävien sovellusten tehostamiseen. Se on otettu käyttöön nykyaikaisten verkko- ja mobiilisovellusten hakukonealustoissa. Nopean haun lisäksi työkalu tarjoaa myös monimutkaista analytiikkaa ja monia edistyneitä ominaisuuksia.
Elastisen haun ominaisuudet
- Avoimen lähdekoodin hakupalvelin on kirjoitettu käyttäen Java
- Käytetään kaikenlaisten heterogeenisten tietojen indeksoimiseen
- Siinä on REST API -verkkoliittymä JSON-lähdöllä
- Koko tekstihaku
- Lähellä reaaliaikaista (NRT) haku
- Jaettu, replikoitu haettavissa oleva JSON-dokumenttivarasto
- Kaavion, REST- ja JSON-pohjainen hajautettu dokumenttikauppa
- Monikielinen ja maantieteellisen sijainnin tuki
Elasticsearchin edut
- Tallenna skeematon data ja luo myös skeeman tiedoillesi
- Manipuloi tietueita tietueelta Multi-document API:iden avulla
- Suodata ja tee tiedoistasi kyselyitä saadaksesi hyödyllisiä tietoja
- Perustuu Apache Luceneen ja tarjoaa RESTful API:n
- Tarjoaa vaakasuuntaisen skaalautuvuuden, luotettavuuden ja usean vuokralaisen mahdollisuuden indeksoinnin reaaliaikaiseen käyttöön nopeuttaakseen hakua
- Auttaa skaalaamaan pysty- ja vaakasuunnassa
Elastisessa haussa käytetyt tärkeät termit
Tässä ELK-opetusohjelmassa opitaan ElasticSearchissa käytetyistä avaintermeistä:
Termi | Käyttö |
---|---|
Cluster | Klusteri on kokoelma solmuja, jotka yhdessä sisältävät tietoja ja tarjoavat yhdistetyt indeksointi- ja hakuominaisuudet. |
Solmu | Solmu on elastinen hakuinstanssi. Se luodaan, kun elasticsearch-instanssi alkaa. |
indeksi | Hakemisto on kokoelma asiakirjoja, joilla on samanlaiset ominaisuudet. esim. asiakastiedot, tuoteluettelo. Se on erittäin hyödyllinen suoritettaessa indeksointi-, haku-, päivitys- ja poistotoimintoja. Sen avulla voit määrittää niin monta indeksiä yhteen klusteriin. |
Asiakirja | Se on tiedon perusyksikkö, joka voidaan indeksoida. Se ilmaistaan JSON-parina (avain: arvo). '{"user": "nullcon"}'. Jokaiseen asiakirjaan liittyy tyyppi ja yksilöllinen tunnus. |
Sirpale | Jokainen indeksi voidaan jakaa useisiin sirpaleisiin tietojen jakamiseksi. Sirpale on indeksin atomiosa, joka voidaan jakaa klusterin kesken, jos haluat lisätä solmuja. |
Mikä on Logstash?
Logstash on tiedonkeruuputkityökalu. Se kerää syötteitä ja syöttää Elasticsearchiin. Se kerää kaiken tyyppistä dataa eri lähteistä ja mahdollistaa sen myöhempää käyttöä varten.
Logstash voi yhdistää tiedot eri lähteistä ja normalisoida tiedot haluamiisi kohteisiin. Sen avulla voit puhdistaa ja demokratisoida kaikki tietosi analytiikkaa ja käyttötapausten visualisointia varten.
Se koostuu kolmesta osasta:
- panos: välittää lokit niiden käsittelemiseksi koneen ymmärrettävään muotoon
- Suodattimet: Se on joukko ehtoja tietyn toiminnon tai tapahtuman suorittamiseksi
- ulostulo: Päätöksentekijä käsitellylle tapahtumalle tai lokille
Ominaisuudet Logstash
Tässä LogStash-opetusohjelmassa opitaan LogStashin ominaisuuksista:
- Tapahtumat kuljetetaan kunkin vaiheen läpi käyttämällä sisäisiä jonoja
- Mahdollistaa eri syötteet lokeillesi
- Lokien suodatus/jäsennys
Etu Logstash
- Tarjoukset keskittävät tietojenkäsittelyn
- Se analysoi monenlaista jäsenneltyä/strukturoimatonta dataa ja tapahtumia
- ELK LogStash tarjoaa laajennuksia, jotka muodostavat yhteyden erityyppisiin tulolähteisiin ja alustoihin
Mikä on Kibana?
Kibana on tietojen visualisointi, joka täydentää ELK-pinon. Tätä työkalua käytetään Elasticsearch-dokumenttien visualisointiin ja se auttaa kehittäjiä saamaan nopean käsityksen siitä. Kibana Dashboard tarjoaa erilaisia interaktiivisia kaavioita, paikkatietoja ja kaavioita monimutkaisten kysymysten visualisoimiseksi.
Sitä voidaan käyttää Elasticsearch-hakemistoihin tallennettujen tietojen etsimiseen, katseluun ja vuorovaikutukseen. Kibana auttaa sinua suoriutumaan edistyneestä tietojen analysointi ja visualisoida tietosi useissa taulukoissa, kaavioissa ja kartoissa.
Kibanassa on erilaisia tapoja tehdä hakuja tiedoissasi.
Tässä ovat yleisimmät hakutyypit:
Hakutyyppi | Käyttö |
---|---|
Vapaa tekstihaku | Sitä käytetään tietyn merkkijonon etsimiseen |
Kenttätason haut | Sitä käytetään merkkijonon etsimiseen tietystä kentästä |
Loogisia väitteitä | Sitä käytetään yhdistämään haut loogiseksi lauseeksi. |
Läheisyyshakuja | Sitä käytetään termien etsimiseen tietyn merkkien läheisyydestä. |
Tässä Kibana-opetusohjelmassa opitaan Kibanan tärkeistä ominaisuuksista:
Kinbanan ominaisuudet:
- Tehokas etuosan kojelauta, joka pystyy visualisoimaan indeksoidut tiedot elastisesta klusterista
- Mahdollistaa indeksoidun tiedon reaaliaikaisen haun
- Voit etsiä, tarkastella ja olla vuorovaikutuksessa Elasticsearchiin tallennettujen tietojen kanssa
- Suorita kyselyitä tiedoista ja visualisoi tulokset kaavioissa, taulukoissa ja kartoissa
- Muokattavissa oleva kojelauta viipaloi ja pilko logstash-lokit elasticsearchissa
- Pystyy tarjoamaan historiallisia tietoja kaavioiden, kaavioiden jne. muodossa.
- Reaaliaikaiset kojelaudat, jotka on helppo konfiguroida
- Kibana ElasticSearch mahdollistaa reaaliaikaisen haun indeksoiduista tiedoista
Kinbanan edut ja haitat
- Helppo visualisointi
- Täysin integroitu Elasticsearchiin
- Visualisointityökalu
- Tarjoaa reaaliaikaisia analyysi-, kaavio-, yhteenveto- ja virheenkorjausominaisuuksia
- Tarjoaa vaistomaisen ja käyttäjäystävällisen käyttöliittymän
- Mahdollistaa tilannekuvien jakamisen läpi haetuista lokeista
- Sallii kojelaudan tallentamisen ja useiden hallintapaneelien hallinnan
Miksi lokianalyysi?
Pilvipohjaisissa ympäristöinfrastruktuureissa suorituskyky ja eristäminen ovat erittäin tärkeitä. Pilvessä olevien virtuaalikoneiden suorituskyky voi vaihdella järjestelmän kuormien, ympäristöjen ja aktiivisten käyttäjien lukumäärän mukaan. Siksi luotettavuudesta ja solmuvirheistä voi tulla merkittävä ongelma.
Lokinhallintaalusta voi valvoa kaikkia edellä mainittuja ongelmia sekä prosessien käyttöjärjestelmän lokeja, NGINX:ää, IIS-palvelinlokia verkkoliikenteen analysointiin, sovelluslokeja ja AWS-lokeja (Amazon verkkopalvelut).
Lokinhallinta auttaa DevOps-insinöörejä, järjestelmänvalvojaa tekemään parempia liiketoimintapäätöksiä. Siksi lokianalyysi Elastic Stackin tai vastaavien työkalujen avulla on tärkeää.
ELK vs. Splunk
Hirvi | Splunk |
---|---|
Elk on avoimen lähdekoodin työkalu | Splunk on kaupallinen työkalu. |
Hirvipino ei tarjoa Solaris Kannettavuus Kibanan takia. | Splunk tarjoukset Solaris Siirrettävyyttä. |
Käsittelynopeus on tiukasti rajoitettu. | Tarjoaa tarkat ja nopeat prosessit. |
ELK on teknologiapino, joka on luotu yhdistelmällä Elastic Search-Logstash-Kibana. | Splunk on patentoitu työkalu. Se tarjoaa sekä paikallisia että pilviratkaisuja. |
ELK-haussa analyysi ja visualisointi ovat mahdollisia vasta ELK-pinon asennuksen jälkeen. | Splunk on käytettävissäsi täydellinen tiedonhallintapaketti. |
ELK-työkalu ei tue integrointia muihin työkaluihin. | Splunk on hyödyllinen työkalu integraatioiden määrittämiseen muiden työkalujen kanssa. |
Asiakastapaukset
Netflix
Netflix luottaa vahvasti ELK-pinoon. Yritys käyttää ELK-pinoa valvomaan ja analysoimaan asiakaspalvelun turvalokia. Sen avulla he voivat indeksoida, tallentaa ja etsiä asiakirjoja yli viidestätoista klusterista, jotka sisältävät lähes 800 solmua.
Kuuluisa sosiaalisen median markkinointisivusto LinkedIn käyttää ELK-pinoa suorituskyvyn ja turvallisuuden seuraamiseen. IT-tiimi integroi ELK:n Kafkaan tukemaan heidän kuormitustaan reaaliajassa. Heidän ELK-toimintaansa kuuluu yli 100 klusteria kuudessa eri palvelinkeskuksessa.
Ansalanka
Tripwire on maailmanlaajuinen tietoturvatietotapahtumien hallintajärjestelmä. Yritys käyttää ELK:ta tietopakettien lokianalyysin tukemiseen.
Keskikokoinen
Medium on kuuluisa blogien julkaisualusta. He käyttävät ELK-pinoa tuotantoongelmiensa korjaamiseen. Yritys käyttää havaitsemiseen myös ELK:ta DynamoDB hotpotteja. Lisäksi käyttämällä tätä pinoa yritys voi tukea 25 miljoonaa ainutlaatuista lukijaa sekä tuhansia julkaistuja viestejä joka viikko.
ELK-pinon edut ja haitat
edut
- ELK toimii parhaiten, kun yrityksen eri sovellusten lokit yhdistyvät yhdeksi ELK-esiintymäksi
- Se tarjoaa uskomattomia oivalluksia tälle yksittäiselle esiintymälle ja poistaa myös tarpeen kirjautua sataan eri lokitietolähteeseen
- Nopea asennus paikan päällä
- Helppo ottaa käyttöön vaa'at pysty- ja vaakasuunnassa
- Elastic tarjoaa joukon kieliasiakkaita, joihin kuuluu Ruby. Python. PHP, Perl, .NET, Javaja JavaKäsikirjoitus ja paljon muuta
- Kirjastojen saatavuus eri ohjelmointi- ja komentosarjakielille
Haitat
- Pinossa olevia eri komponentteja voi olla vaikea käsitellä, kun siirryt monimutkaiseen asennukseen
- Mikään ei ole kuin yritys ja erehdys. Joten mitä enemmän teet, sitä enemmän opit matkan varrella
Yhteenveto
- Keskitetty lokikirjaus voi olla hyödyllistä, kun yritetään tunnistaa palvelimiin tai sovelluksiin liittyviä ongelmia
- ELK-palvelinpino on hyödyllinen keskitettyyn kirjausjärjestelmään liittyvien ongelmien ratkaisemiseen
- ELK-pino on kokoelma kolmea avoimen lähdekoodin työkalua Elasticsearch, Logstash Kibana
- Elasticsearch on NoSQL-tietokanta
- Logstash on tiedonkeruuputkityökalu
- Kibana on tietojen visualisointi, joka täydentää ELK-pinon
- Pilvipohjaisissa ympäristöinfrastruktuureissa suorituskyky ja eristys ovat erittäin tärkeitä
- ELK:ssa pinon käsittelynopeus on tiukasti rajoitettu Splunk tarjoaa tarkat ja nopeat prosessit
- Netflix, LinkedIn, Tripware ja Medium käyttävät kaikki ELK-pinoa liiketoimintaansa
- ELK Syslog toimii parhaiten, kun yrityksen eri sovellusten lokit yhdistyvät yhdeksi ELK-esiintymäksi
- Pinossa olevia eri komponentteja voi olla vaikea käsitellä, kun siirryt monimutkaiseen asennukseen
Katso meidän ElasticSearch-haastattelun kysymyksiä ja vastauksia niin tuoreille kuin kokeneillekin hakijoille.