Dashboardi loomine Kibanas logide jälgimiseks

Dashboardi loomine Kibanas logide jälgimiseks

Tere, minu nimi on Jevgeni, ma olen Ситимобили B2B suuna tiimijuht. Üheks meie meeskonna ülesandeks on toeta taksitoomise integratsioone partneritelt, ja stabiilse teenuse tagamiseks peame alati mõistma, mis meie mikroteenustes toimub. Selleks tuleb pidevalt jälgida logisid.

Ситимобilis kasutame logide haldamiseks ELK-stakki (ElasticSearch, Logstash, Kibana), ja sinna tulev andmemaht on tohutu. Sellest hulgast päringutest probleemide leidmine, mis võivad tekkida uue koodi juurutamise järel, on üsna keeruline. Probleemide visuaalseks tuvastamiseks on Kibanas olemas Dashboardi osa.

Habr on piisavalt palju artikleid, mis näitavad, kuidas seadistada ELK-stakki andmete kogumiseks ja hoidmiseks, kuid Dashboardi loomise kohta pole asjakohaseid materjale. Seetõttu tahan näidata, kuidas Kibanas luua andmete visuaalset esitamist saabuvatest logidest.

Seadistamine

Selgust andmiseks lõin Docker-pildi ELK ja Filebeati jaoks. Ja panin konteinerisse väikese programmi Go-s kribitud rakenduse, mis genereerib meie näite jaoks testlogisid. ELK seadistamise üksikasjalikku kirjeldust ma ei too, Habr on selle kohta piisavalt kirjutatud.

Kloonime konfiguratsiooniga repositooriumit docker-compose ja ELK seadistustega ning käivitame selle käsuga docker-compose up. Tahtlikult ei lisa ma võtit -d, et näha ELK stacki tööprotsessi.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

Kui kõik on õigesti seadistatud, siis logides näeme järgmist kirjet (võib-olla mitte kohe, konteineri käivitamise protsess kogu stackiga võib võtta mitu minutit):

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

Aadressil localhost:5061 peaks avanema Kibana.

Dashboardi loomine Kibanas logide jälgimiseks
Dashboardi loomine Kibanas logide jälgimiseks
Ainus, mida peame seadistama, on luua Index Pattern Kibanas, mis sisaldab teavet, milliseid andmeid näidata. Selleks teeme curl-päringu või sooritame rea toiminguid graafilises liideses.

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

Index Patterni loomine graafilise liidese kaudu
Seadistamiseks valime vasakpoolses menüüs jaotise Discover ning jõuame Index patterni loomise lehele.

Dashboardi loomine Kibanas logide jälgimiseks
Klõpsates nupule «Create index pattern», jõuame indeksi loomise lehele. Väljal «Index pattern name» sisestame «logstash-*». Kui kõik on õigesti seadistatud, näitab Kibana allpool sobivaid indekseid.

Dashboardi loomine Kibanas logide jälgimiseks
Järgmises lehes valime võtmevälja ajatempli jaoks, meie juhul on see @timestamp.

Dashboardi loomine Kibanas logide jälgimiseks
Tulemusena ilmub seadistuste indeksileht, kuid praegu pole meil täiendavaid tegevusi vaja.

Dashboardi loomine Kibanas logide jälgimiseks

Nüüd saame uuesti minna sektsiooni Discover, kus näeme logikirjeid.

Dashboardi loomine Kibanas logide jälgimiseks

Armatuurlauale

Vasakus menüüs klõpsame Dashboardi loomise sektsioonile ja jõuame vastavale lehele.

Dashboardi loomine Kibanas logide jälgimiseks
Klõpsame nupule «Create new dashboard» ja jõuame objektide lisamise lehele Dashboardis.

Dashboardi loomine Kibanas logide jälgimiseks
Klõpsame nupule «Create new», ja süsteem pakub valida andmete kuvamise viisi. Kibanas on neid palju, kuid vaatame, kuidas luua graafilist esitlemist «Vertical Bar» ja tabelit «Data Table». Ülejäänud kuvamisviisid seadistatakse sarnasel viisil. 
Dashboardi loomine Kibanas logide jälgimiseks
Mõned saadaval olevad objektid on tähistatud B ja E - see tähendab, et formaat on katsetamisfaasis või beetaversioonis. Aja jooksul võib formaat muutuda või täielikult kaduda Kibana-st.

Vertikaalne baar

Näiteks «Vertical Bar» loome histogrammi meie teenuse eduka ja ebaõnnestunu vastuse staatuse suhte osas. Seadistuste lõppedes saame järgmise diagrammi:

Dashboardi loomine Kibanas logide jälgimiseks
Edukatena arvestame kõiki päringuid, mille vastuse staatus on = 400.

Vertikaalse baarigraafiku loomiseks peame valima andmeallika. Valime varem loodud indeksi mustri.

Dashboardi loomine Kibanas logide jälgimiseks
Vaikimisi ilmub andmeallika valimisel üks pidev graafik. Kohandame seda.

Dashboardi loomine Kibanas logide jälgimiseks
Punktis 'Buckets' klõpsake nuppu 'Add', valige 'X-asis' ja seadistage X-telg. Rikkeme märkide ajamisi tähistame ajamiste logi. 'Aggregation' väljale valime 'Date Histogram' ja 'Field' väljale valime '@timestamp', mis osutab ajaväljadele. 'Minimum interval' jätame olekusse 'Auto', mis kohandub meie kuvamisega automaatselt. 

Dashboardi loomine Kibanas logide jälgimiseks
Nuppu 'Update' vajutades näeme graafikut, kus on näidatud päringute arv iga 30 sekundi järel.

Dashboardi loomine Kibanas logide jälgimiseks
Nüüd seadistame Y-telje veerud. Hetkel kuvatakse meil valitud ajavahemikus kõigi päringute koguarv.

Dashboardi loomine Kibanas logide jälgimiseks
Muudame 'Aggregation' väärtuse 'Sum Bucket' peale, mis võimaldab meil kombineerida edukaid ja ebaedukaid päringute andmeid. Bucketi jaotises -> Aggregation valime aggregatsiooni 'Filters' ja määrame filtreerimise 'statusCode >= 400'. Ja 'Custom label' väljale märkige meie näitaja nimi, et see oleks graafikul ja üldnimekirjas arusaadavamalt kuvatud.

Dashboardi loomine Kibanas logide jälgimiseks
Klõpsates nuppu „Update” seadeploki all, saame graafiku probleemsete päringutega.

Dashboardi loomine Kibanas logide jälgimiseks
Kui klõpsate legendi ümber oleva ringi peal, avatakse aken, kus saab muuta tulpade värvi.

Dashboardi loomine Kibanas logide jälgimiseks
Nüüd lisame graafikule edukaid päringute andmeid. Jaotises „Metrics” vajutame nuppu „Add” ja valime „Y-axis”.

Dashboardi loomine Kibanas logide jälgimiseks
Loome loodud mõõtmes samad seaded kui vigadega päringute puhul. Ainult filtris määrame „statusCode < 400”.

Dashboardi loomine Kibanas logide jälgimiseks
Muutes uue tulba värvi, saame kuvada probleemsete ja edukaid päringute suhet.

Dashboardi loomine Kibanas logide jälgimiseks
Klõpsates ekraani ülaosas nuppu „Save” ja määrates nime, näeme Dashboardil esimest graafikut.

Dashboardi loomine Kibanas logide jälgimiseks

Andmete tabel

Nüüd vaatame „Data Table” tabelivaatet. Loome tabeli, mis sisaldab kõiki URL-e, millele on päringud tehtud, ja nende päringute arvu. Nagu näites Vertical Bar, valime kõigepealt andmeallika.

Dashboardi loomine Kibanas logide jälgimiseks
Pärast seda kuvatakse ekraanil tabel, kus on üks veerg, mis näitab valitud ajavahemiku jooksul tehtud päringute koguarvu.

Dashboardi loomine Kibanas logide jälgimiseks
Muudame ainult bloki „Buckets”. Klõpsame nuppu „Add” ja valime „Split rows”.

Dashboardi loomine Kibanas logide jälgimiseks
Väljas „Aggregation” valime „Terms”. Ja avanevas väljas „Field” valime „url.keyword”.

Dashboardi loomine Kibanas logide jälgimiseks
Sisestades väljale „Custom label“ väärtuse „Url“ ja vajutades „Update“, saame soovitud tabeli URL-ide järgi esitatud päringute arvuga valitud ajavahemiku jooksul.

Dashboardi loomine Kibanas logide jälgimiseks
Ekraani ülaosas vajutame taas nuppu „Save“ ja anname tabelile nime, näiteks Urls. Naaseme tagasi Dashboardile ja näeme kahte loodud kuvandit.

Dashboardi loomine Kibanas logide jälgimiseks

Töö Dashboardiga

Dashboardi loomisel seadistame kuvandite objektide seadetes ainult põhijooned. Pole mõtet näidata objektides andmeid filtrite jaoks, näiteks „kuupäevavahemik“, „filtreerimine useragent'i järgi“, „filtreerimine päringu riigi järgi“ jne. Olulisem on määrata soovitud ajavahemik või teha vajalik filtreerimine päringute paneelis, mis asub objektide kohal.

Dashboardi loomine Kibanas logide jälgimiseks
Sellel paneelil lisatud filtrid rakenduvad kogu Dashboardile ning kõik kuvamisobjektid kohanduvad vastavalt kehtivatele filtreeritud andmetele.

Kokkuvõte

Kibana — võimas tööriist, mis võimaldab visualiseerida igasuguseid andmeid mugaval viisil. Olen püüdnud näidata kahte peamist kuvamistüüpi. Kuid ka teised tüübid on sarnase seadistamisega. Ja hulgaliselt seadistusi, mille jätsin „kaadrivälistesse“, võimaldavad teil graafikuid väga paindlikult oma vajaduste järgi kohandada.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster