Logide jälgimiseks armatuurlaua loomine Kibanas

Logide jälgimiseks armatuurlaua loomine Kibanas

Tere, minu nimi on Evgeniy, olen Citymobili B2B meeskonna juht. Meie meeskonna üks ülesandeid on toetada partneritelt takso tellimise integratsioone ning stabiilse teenuse tagamiseks peame alati aru saama, mis meie mikroteenustes toimub. Ja selleks peate logisid pidevalt jälgima.

Citymobilis kasutame logidega töötamiseks ELK pinu (ElasticSearch, Logstash, Kibana) ja sinna laekuvate andmete maht on tohutu. Selles taotluste massis on üsna raske leida probleeme, mis võivad ilmneda pärast uue koodi juurutamist. Nende selgeks tuvastamiseks on Kibanal armatuurlaua jaotis.

Habré kohta on üsna palju artikleid koos näidetega ELK virna seadistamise kohta andmete vastuvõtmiseks ja salvestamiseks, kuid armatuurlaua loomise kohta puuduvad asjakohased materjalid. Seetõttu tahan näidata, kuidas luua Kibanas sissetulevate logide põhjal andmete visuaalne esitus.

reguleerimine

Et asi selgem oleks, lõin ELK ja Filebeatiga Dockeri pildi. Ja asetas väikese konteinerisse programmi rakenduses Go, mis meie näites loob testilogid. ELK konfiguratsiooni ma täpsemalt ei kirjelda, sellest on Habrel piisavalt kirjutatud.

Hoidla kloonimine koos konfiguratsiooniga docker-compose ja ELK seaded ning käivitage see käsuga docker-compose up. Ma ei lisa võtit meelega. -dnäha ELK virna protsessi.

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

Kui kõik on õigesti konfigureeritud, näeme logides kirjet (võib-olla mitte kohe, kogu virnaga konteineri käivitamine 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"}

Aadressi järgi localhost:5061 Kibana peaks avanema.

Logide jälgimiseks armatuurlaua loomine Kibanas
Logide jälgimiseks armatuurlaua loomine Kibanas
Ainus asi, mida peame konfigureerima, on luua Kibana jaoks indeksimuster, mis sisaldab teavet selle kohta, milliseid andmeid tuleks kuvada. Selleks käivitame curl taotluse või teeme graafilises liideses mitmeid toiminguid.

$ 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"}}'

Indeksi mustri loomine GUI kaudu
Seadistamiseks valige vasakpoolsest menüüst jaotis Discover ja minge indeksi mustri loomise lehele.

Logide jälgimiseks armatuurlaua loomine Kibanas
Klõpsates nupul "Loo indeksi muster", suunatakse meid indeksi loomise lehele. Sisestage väljale "Indeksi mustri nimi" "logstash-*". Kui kõik on õigesti seadistatud, kuvatakse Kibana all reegli alla kuuluvad indeksid.

Logide jälgimiseks armatuurlaua loomine Kibanas
Järgmisel lehel valige ajatempliga võtmeväli, meie puhul see nii on @timestamp.

Logide jälgimiseks armatuurlaua loomine Kibanas
Selle tulemusel kuvatakse registri sätete leht, kuid meilt pole nüüd vaja täiendavaid toiminguid teha.

Logide jälgimiseks armatuurlaua loomine Kibanas

Nüüd saame minna tagasi jaotisse Discover, kus näeme logikirjeid.

Logide jälgimiseks armatuurlaua loomine Kibanas

armatuurlaud

Klõpsake vasakpoolses menüüs armatuurlaua loomise jaotisel ja minge vastavale lehele.

Logide jälgimiseks armatuurlaua loomine Kibanas
Klõpsake "Loo uus armatuurlaud" ja minge lehele, kus saate armatuurlauale objekte lisada.

Logide jälgimiseks armatuurlaua loomine Kibanas
Klõpsake nuppu "Loo uus" ja süsteem palub teil valida andmete kuvamise tüübi. Kibanas on neid palju, kuid me vaatame graafilise esituse "Vertikaalne riba" ja tabeli "Andmetabel" loomist. Muud tüüpi esitlused on konfigureeritud sarnaselt. 
Logide jälgimiseks armatuurlaua loomine Kibanas
Mõned saadaolevad üksused on tähistatud tähistega B ja E, mis näitavad, et vorming on katseline või beetaversioonis. Aja jooksul võib formaat muutuda või Kibanast täielikult kaduda.

Vertikaalne riba

„Vertikaalse riba” näite jaoks loome histogrammi meie teenuse edukate ja ebaõnnestunud vastuste olekute suhte kohta. Pärast seadistuste lõpetamist saame järgmise graafiku:

Logide jälgimiseks armatuurlaua loomine Kibanas
Klassifitseerime edukaks kõik päringud, mille vastuse olek on < 400, ja probleemseteks - >= 400.

Vertikaalse ribadiagrammi loomiseks peame valima andmeallika. Valige varem loodud indeksi muster.

Logide jälgimiseks armatuurlaua loomine Kibanas
Vaikimisi kuvatakse pärast andmeallika valimist üks pidev graafik. Paneme selle paika.

Logide jälgimiseks armatuurlaua loomine Kibanas
Plokis "Ämbrid" klõpsake nuppu "Lisa", valige "X-asis" ja konfigureerige X-telg. Joonistame sellele logisse sisenevate kirjete ajatemplid. Valige väljal "Koond" "Kuupäeva histogramm" ja "Väljas" valige "@timestamp", mis näitab ajutist välja. Jätame "Minimaalne intervall" olekusse "Automaatne" ja see kohandub automaatselt meie kuvaga. 

Logide jälgimiseks armatuurlaua loomine Kibanas
Klõpsates nupul “Uuenda”, näeme iga 30 sekundi järel graafikut päringute arvuga.

Logide jälgimiseks armatuurlaua loomine Kibanas
Nüüd seadistame veerud Y-teljel Nüüd kuvame taotluste koguarvu valitud ajavahemikus.

Logide jälgimiseks armatuurlaua loomine Kibanas
Muutkem "Agregation" väärtuseks "Sum Bucket", mis võimaldab meil ühendada edukate ja ebaõnnestunud päringute andmeid. Plokis Bucket -> Aggregation valige liitmine “Filtrite” järgi ja määrake filtreerimine “statusCode >= 400” järgi. Ja väljale „Kohandatud silt” märgime oma indikaatori nime, et kuvada diagrammi legendis ja üldises loendis selgemalt.

Logide jälgimiseks armatuurlaua loomine Kibanas
Vajutades seadete ploki all nuppu "Uuenda", saame graafiku probleemsete päringutega.

Logide jälgimiseks armatuurlaua loomine Kibanas
Kui klõpsate legendi kõrval oleval ringil, avaneb aken, kus saate muuta veergude värvi.

Logide jälgimiseks armatuurlaua loomine Kibanas
Nüüd lisame diagrammi andmed edukate päringute kohta. Jaotises "Mõõdikud" klõpsake nuppu "Lisa" ja valige "Y-telg".

Logide jälgimiseks armatuurlaua loomine Kibanas
Loodud mõõdikus teeme samad seadistused, mis vigaste päringute puhul. Ainult filtris märgime “statusCode < 400”.

Logide jälgimiseks armatuurlaua loomine Kibanas
Uue veeru värvi muutmisega saame kuva probleemsete ja edukate päringute suhte kohta.

Logide jälgimiseks armatuurlaua loomine Kibanas
Kui klõpsate ekraani ülaosas nuppu "Salvesta" ja määrate nime, näeme armatuurlaual esimest graafikut.

Logide jälgimiseks armatuurlaua loomine Kibanas

andmed tabelis

Nüüd vaatame tabelivaadet "Andmetabel". Loome tabeli kõigi URL-ide loendiga, millele päringuid tehti, ja nende päringute arvu. Nagu vertikaalse riba näites, valime esmalt andmeallika.

Logide jälgimiseks armatuurlaua loomine Kibanas
Pärast seda kuvatakse ekraanile ühe veeruga tabel, mis näitab valitud ajaintervalli päringute koguarvu.

Logide jälgimiseks armatuurlaua loomine Kibanas
Muudame ainult plokki "Ämbrid". Klõpsake nuppu "Lisa" ja valige "Jaga read".

Logide jälgimiseks armatuurlaua loomine Kibanas
Valige väljal „Koond” „Tingimused”. Ja kuvataval väljal „Välja” valige „url.keyword”.

Logide jälgimiseks armatuurlaua loomine Kibanas
Määrates väljale "Kohandatud silt" väärtuse "Url" ja klõpsates nuppu "Uuenda", saame soovitud tabeli iga URL-i päringute arvuga valitud ajavahemikul.

Logide jälgimiseks armatuurlaua loomine Kibanas
Klõpsake ekraani ülaosas uuesti nuppu "Salvesta" ja määrake tabeli nimi, näiteks URL-id. Läheme tagasi armatuurlauale ja vaatame mõlemat loodud vaadet.

Logide jälgimiseks armatuurlaua loomine Kibanas

Armatuurlauaga töötamine

Armatuurlaua loomisel määrame kuvaobjekti seadetes ainult põhivaate parameetrid. Pole mõtet määrata andmeid objektide filtrite jaoks, näiteks "kuupäevavahemik", "filtreerimine kasutajaagendi järgi", "filtreerimine päringu riigi järgi" jne. Palju mugavam on määrata soovitud ajaperiood või määrata vajalik filtreerimine päringupaneelil, mis asub objektide kohal.

Logide jälgimiseks armatuurlaua loomine Kibanas
Sellele paneelile lisatud filtrid rakendatakse kogu armatuurlauale ja kõik kuvatavad objektid järjestatakse ümber vastavalt praegustele filtreeritud andmetele.

Järeldus

Kibana on võimas tööriist, mis võimaldab teil mis tahes andmeid mugavalt visualiseerida. Proovisin näidata kahte peamist tüüpi kuvari seadistust. Kuid muud tüübid on konfigureeritud sarnaselt. Ja seadete rohkus, mille ma kulisside taha jätsin, võimaldab teil graafikuid väga paindlikult oma vajadustele vastavaks kohandada.

Allikas: www.habr.com

Lisa kommentaar