Kibana armatuurlaua loomine logide jÀlgimiseks

Kibana armatuurlaua loomine logide jÀlgimiseks

Tere, minu nimi on Evgeni, olen SitiMobili B2B suuna tiimijuht. Meie meeskonna ĂŒheks ĂŒlesandeks on toetada partnerite takso tellimise integraatioone ning teenuse stabiilsuse tagamiseks peame alati teadma, mis meie mikroteenustes toimub. SeetĂ”ttu peame pidevalt jĂ€lgima logisid.

SitiMobilis kasutame logide töötlemiseks ELK-stekki (ElasticSearch, Logstash, Kibana) ja andmevoog, mis sinna tuleb, on tohutu. Sel hulgal pĂ€ringutes probleemide leidmine, mis vĂ”ivad ilmuda pĂ€rast uue koodi juurutamist, on ĂŒsna keeruline. SeetĂ”ttu on Kibanas olemas Dashboardi sektsioon, mis aitab neid probleeme visualiseerida.

Habr on palju artikleid, kus on nÀidatud, kuidas seadistada ELK-stekki andmete saamiseks ja hoidmiseks, kuid Dashboardi loomise kohta pole asjakohaseid materjale. SeetÔttu soovin nÀidata, kuidas Kibanas luua andmete visuaalset esitlemist saabuvate logide pÔhjal.

Seadistamine

Kuna see oleks visuaalsem, lĂ”in ELK ja Filebeati jaoks Docker-pildi. Ja panin konteinerisse vĂ€ikese programmi Go-s kirjutatud rakenduse, mis meie nĂ€ite jaoks genereerib testlogisid. ELK seadistamise ĂŒksikasju ma ei kirjelda, Habril on piisavalt selle kohta kirjutatud.

Kloonime konfiguratsiooni version: '1' services: simplesample-sonar: image: sonarqube:lts ports: - 9001:9000 - 9092:9092 network_mode: bridge ja ELK seadistuste reposti ning kÀivitame selle kÀsuga docker-compose up. Tahtlikult ei lisa ma vÔtit -d, et nÀha ELK-steki 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 kirjet (vÔib-olla mitte kohe, konteineri kÀivitamise protsess kogu steki jaoks 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 avama Kibana.

Kibana armatuurlaua loomine logide jÀlgimiseks
Kibana armatuurlaua loomine logide jÀlgimiseks
Ainus asi, mida peame seadistama, on luua Kibana jaoks indeksimuster, mis sisaldab teavet selle kohta, milliseid andmeid tuleb kuvada. Selleks teeme curl-pÀringu vÔi teeme rida 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"}}'

Indeksimustri loomine graafilise liidese kaudu
Seadistamiseks valime vasakpoolses menĂŒĂŒs jaotise Discover ja jĂ”uame indeksimustri loomise lehele.

Kibana armatuurlaua loomine logide jÀlgimiseks
KlĂ”psates nuppu „Loo indeksimuster“, jĂ”uame indeksi loomise lehele. VĂ€lja „Indeksimustri nimi“ kirjutame „logstash-*“. Kui kĂ”ik on Ă”igesti seadistatud, nĂ€itab Kibana allpool sobivaid indekseid.

Kibana armatuurlaua loomine logide jÀlgimiseks
JÀrgmisel lehel valime ajatempli vÔtme, meie puhul on see @timestamp.

Kibana armatuurlaua loomine logide jÀlgimiseks
Tulemusena ilmub seadistuste indeksileht, kuid praegu ei ole meil vaja tÀiendavaid toiminguid.

Kibana armatuurlaua loomine logide jÀlgimiseks

NĂŒĂŒd saame taas minna jaossa Discover, kus nĂ€eme logikirjeid.

Kibana armatuurlaua loomine logide jÀlgimiseks

Armatuurlaud

Vasakul menĂŒĂŒs klĂ”psame armatuurlauda loomise jaotisel ja jĂ”uame vastavale lehele.

Kibana armatuurlaua loomine logide jÀlgimiseks
KlĂ”psame nuppu „Loo uus armatuurlaud“ ja jĂ”uame objektide lisamise lehele armatuurlauda.

Kibana armatuurlaua loomine logide jÀlgimiseks
KlĂ”psame nuppu „Loo uus“, ja sĂŒsteem pakub valida andmete kuvamise viisi. Kibanas on neid palju, aga vaatame graafilise vaate „Vertikaalne diagramm“ ja tabeli „Andmeedastust“ loomist. ÜlejÀÀnud kuvamisviise saab seadistada sarnaselt. 
Kibana armatuurlaua loomine logide jÀlgimiseks
MÔned saadaval olevad objektid on tÀhistatud B ja E - see tÀhendab, et formaat on katse- vÔi beetaversioonis. Aja jooksul vÔib formaat muutuda vÔi tÀielikult kaduda Kibana-st.

Vertikaalne diagramm

NĂ€iteks loome „Vertikaalse diagrammi“ histogrammi, mis nĂ€itab meie teenuse eduka ja ebaĂ”nnestunud vastuse staatuste suhet. Seadistuste lĂ”puks saame jĂ€rgmise graafiku:

Kibana armatuurlaua loomine logide jÀlgimiseks
Edusammude hulka loeme kÔik pÀringud, mille vastuse staatus on = 400.

„Vertikaalse diagrammi“ loomiseks peame valima andmeallika. Valime Indeksi mustri, mille loome varem.

Kibana armatuurlaua loomine logide jÀlgimiseks
Vaikimisi ilmub andmeallika valimisel ĂŒks pidev graafik. Seadistame selle.

Kibana armatuurlaua loomine logide jÀlgimiseks
Blokis „Buckets“ klĂ”psame nuppu „Lisa“, valime „X-asis“ ja seadistame X-telje. Asetame sellele logikirjete ajamĂ€rgid. „Agregatsiooni“ vĂ€ljas valime „KuupĂ€eva histogrammi“ ja „VĂ€lja“ valime „@timestamp“, mis nĂ€itab ajavĂ€lja. „Minimaalne intervall“ jĂ€tame olekusse „Automaatne“, ning see kohandub automaatselt meie kuvamise jĂ€rgi. 

Kibana armatuurlaua loomine logide jÀlgimiseks
KlĂ”psates nuppu „Uuenda“, nĂ€eme graafikut, mis nĂ€itab pĂ€ringute arvu iga 30 sekundi jĂ€rel.

Kibana armatuurlaua loomine logide jÀlgimiseks
NĂŒĂŒd seadistame Y-telje veerud. Praegu kuvatakse meil valitud ajavahemikus ĂŒldine pĂ€ringute arv.

Kibana armatuurlaua loomine logide jÀlgimiseks
Muudame „Agregatsiooni“ vÀÀrtuse „Sum Bucket“, mis vĂ”imaldab meil ĂŒhendada edukaid ja ebaĂ”nnestunud pĂ€ringute andmeid. Blokis Buckets -> Agregatsioon valime agregatsiooni „Filtrite“ jĂ€rgi ja mÀÀrame filtreerimise „statusCode >= 400“ jĂ€rgi. Ja vĂ€ljale „Kohandatud silt“ mĂ€rgime meie indikaatori nime, et see oleks graafiku legendis ja ĂŒldnimekirjas arusaadavam.

Kibana armatuurlaua loomine logide jÀlgimiseks
KlĂ”psates nuppu „Uuenda“ seadistuste ploki all, saame graafiku probleemsete pĂ€ringute arvust.

Kibana armatuurlaua loomine logide jÀlgimiseks
Kui klÔpsate legenda lÀhedal olevale ringile, kuvatakse aken, kus saate muuta veergude vÀrvi.

Kibana armatuurlaua loomine logide jÀlgimiseks
NĂŒĂŒd lisame diagrammile andmed edukaid pĂ€ringute kohta. Jaotises "Metrics" klĂ”psame nupule "Add" ja valime "Y-axis".

Kibana armatuurlaua loomine logide jÀlgimiseks
Loo mÔÔtmisel teeme sarnased seaded nagu vea pÀringute puhul. Ainult filtris mÀrgime "statusCode < 400".

Kibana armatuurlaua loomine logide jÀlgimiseks
Uue veeru vÀrvi muutes saame kuvada probleemsete ja eduka pÀringute suhet.

Kibana armatuurlaua loomine logide jÀlgimiseks
KlĂ”psates ekraani ĂŒlaosas nupule "Save" ja sisestades nime, nĂ€eme esimest diagrammi Dashboardil.

Kibana armatuurlaua loomine logide jÀlgimiseks

Data Table

NĂŒĂŒd vaatame "Data Table" tabelivaatet. Loome tabeli, kus on loetletud kĂ”ik URL-id, millele on pĂ€ringud tehtud, ja nende pĂ€ringute arv. Nagu vertikaalse baari nĂ€ites, valime kĂ”igepealt andmeallika.

Kibana armatuurlaua loomine logide jÀlgimiseks
PĂ€rast seda kuvatakse ekraanil tabel, millel on ĂŒks veerg, mis nĂ€itab valitud ajavahemiku jooksul tehtud pĂ€ringute koguarvu.

Kibana armatuurlaua loomine logide jÀlgimiseks
Muudame ainult "Buckets" plokki. KlÔpsame nupule "Add" ja valime "Split rows".

Kibana armatuurlaua loomine logide jÀlgimiseks
VÀljas "Aggregation" valime "Terms". Ja avanemas vÀlja "Field" valime "url.keyword".

Kibana armatuurlaua loomine logide jÀlgimiseks
Sisestades vÀljal "Custom label" vÀÀrtuse "Url" ja klÔpsates "Update", saame soovitud tabeli, kus on pÀringute arv iga URL-i kohta valitud ajavahemiku jooksul.

Kibana armatuurlaua loomine logide jÀlgimiseks
Ekraani ĂŒlaosas klĂ”psame taas nupule "Save" ja anname tabelile nime, nĂ€iteks Urls. Naaseme tagasi Dashboardile ja nĂ€eme kahte loodud kuvandit.

Kibana armatuurlaua loomine logide jÀlgimiseks

Töötamine Dashboardiga

Dashboardi loomisel mÀÀrasime objekti kuvade seadetes ainult peamised vÀlimuse parameetrid. Pole mÔtet objektides mÀÀrata andmeid filtrite jaoks, nÀiteks "kuupÀevavahemik", "useragent'i filtreerimine", "pÀringu riigi filtreerimine" jne. Oluliselt mugavam on mÀÀrata soovitud ajavahemik vÔi seada vajalik filtreerimine pÀringu paneelis, mis asub objektide kohal.

Kibana armatuurlaua loomine logide jÀlgimiseks
Sellel paneelil lisatud filtrid rakenduvad kogu Dashboardile ja kÔik kuvandite objektid kohandatakse vastavalt kehtivatele filtreeritud andmetele.

KokkuvÔte

Kibana on vĂ”imas tööriist, mis vĂ”imaldab visualiseerida mis tahes andmeid mugaval viisil. Olen pĂŒĂŒdnud nĂ€idata kahe peamise kuvandi seadistust. Kuid ka teisi kuvandeid saab seadistada sarnaselt. Ja hulk seadeid, mille ma "kaadrilt vĂ€lja" jĂ€tsin, vĂ”imaldavad teil graafikud vĂ€ga paindlikult enda vajadustele kohandada.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster