Skep 'n Dashboard in Kibana om logs te monitor

Skep 'n Dashboard in Kibana om logs te monitor

Hallo, my naam is Evgeniy, ek is die B2B-spanleier by Citymobil. Een van ons span se take is om integrasies vir taxibestellings by vennote te ondersteun, en om 'n stabiele diens te verseker moet ons altyd verstaan ​​wat in ons mikrodienste gebeur. En hiervoor moet u die logs voortdurend monitor.

By Citymobil gebruik ons ​​die ELK-stapel (ElasticSearch, Logstash, Kibana) om met logs te werk, en die volume data wat daar ontvang word, is enorm. In hierdie massa versoeke is dit nogal moeilik om probleme te vind wat kan voorkom na die ontplooiing van nuwe kode. En om hulle duidelik te identifiseer, het Kibana 'n Dashboard-afdeling.

Daar is 'n hele paar artikels oor Habré met voorbeelde van hoe om 'n ELK-stapel op te stel vir die ontvangs en berging van data, maar daar is geen relevante materiaal oor die skep van 'n Dashboard nie. Daarom wil ek wys hoe om 'n visuele voorstelling van data te skep gebaseer op inkomende logs in Kibana.

aanpassing

Om dit duideliker te maak, het ek 'n Docker-beeld met ELK en Filebeat geskep. En 'n klein een in 'n houer geplaas die program in Go, wat vir ons voorbeeld toetslogboeke sal genereer. Ek sal nie die konfigurasie van ELK in detail beskryf nie; daar is genoeg hieroor geskryf op Habré.

Kloon die bewaarplek met die konfigurasie docker-compose en ELK-instellings, en begin dit met die opdrag docker-compose up. Ek voeg nie doelbewus 'n sleutel by nie. -dom die proses van die ELK-stapel te sien.

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

As alles korrek opgestel is, sal ons 'n inskrywing in die logboeke sien (miskien nie dadelik nie, die proses om 'n houer met die hele stapel te begin kan 'n paar minute neem):

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

Deur die adres localhost:5061 Kibana moet oopmaak.

Skep 'n Dashboard in Kibana om logs te monitor
Skep 'n Dashboard in Kibana om logs te monitor
Die enigste ding wat ons moet konfigureer, is om 'n indekspatroon vir Kibana te skep met inligting oor watter data vertoon moet word. Om dit te doen, kom ons voer 'n krulversoek uit of doen 'n reeks aksies in die grafiese koppelvlak.

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

Skep indekspatroon via GUI
Om te konfigureer, kies die Ontdek-afdeling in die linkerkieslys en gaan na die indekspatroonskeppingbladsy.

Skep 'n Dashboard in Kibana om logs te monitor
Deur op die "Skep indekspatroon"-knoppie te klik, word ons na die indeksskeppingsbladsy geneem. In die "Indekspatroonnaam"-veld, voer "logstash-*" in. As alles korrek opgestel is, sal Kibana hieronder die indekse wys wat onder die reël val.

Skep 'n Dashboard in Kibana om logs te monitor
Kies op die volgende bladsy die sleutelveld met 'n tydstempel, in ons geval is dit @timestamp.

Skep 'n Dashboard in Kibana om logs te monitor
Gevolglik sal die indeksinstellingsbladsy verskyn, maar geen bykomende handelinge word nou van ons vereis nie.

Skep 'n Dashboard in Kibana om logs te monitor

Nou kan ons teruggaan na die Ontdek-afdeling, waar ons die loginskrywings sal sien.

Skep 'n Dashboard in Kibana om logs te monitor

Dashboard

Klik in die linkerkieslys op die Dashboard-skepping-afdeling en gaan na die ooreenstemmende bladsy.

Skep 'n Dashboard in Kibana om logs te monitor
Klik op "Skep nuwe dashboard" en gaan na die bladsy om voorwerpe by die Dashboard te voeg.

Skep 'n Dashboard in Kibana om logs te monitor
Klik op die "Skep nuwe" knoppie, en die stelsel sal jou vra om die tipe data vertoon te kies. Daar is 'n groot aantal van hulle in Kibana, maar ons sal kyk na die skep van 'n grafiese voorstelling "Vertikale staaf" en 'n tabelvormige "Datatabel". Ander tipes aanbieding word op 'n soortgelyke manier gekonfigureer. 
Skep 'n Dashboard in Kibana om logs te monitor
Sommige beskikbare items is gemerk B en E, wat aandui dat die formaat eksperimenteel of in beta is. Met verloop van tyd kan die formaat van Kibana verander of heeltemal verdwyn.

Vertikale staaf

Vir die "Vertikale staaf"-voorbeeld, kom ons skep 'n histogram van die verhouding van suksesvolle en onsuksesvolle reaksiestatusse van ons diens. Nadat u die instellings voltooi het, sal ons die volgende grafiek kry:

Skep 'n Dashboard in Kibana om logs te monitor
Ons sal alle versoeke met 'n antwoordstatus < 400 as suksesvol klassifiseer, en as problematies - >= 400.

Om 'n "Vertikale staaf"-grafiek te skep, moet ons 'n databron kies. Kies die indekspatroon wat ons vroeër geskep het.

Skep 'n Dashboard in Kibana om logs te monitor
By verstek, sodra jy 'n databron gekies het, sal een deurlopende grafiek verskyn. Kom ons stel dit op.

Skep 'n Dashboard in Kibana om logs te monitor
Klik in die "Buckets"-blok op die "Add"-knoppie, kies "X-asis" en stel die X-as op. Kom ons teken die tydstempels van rekords wat die log ingaan daarlangs. In die "Aggregasie" veld, kies "Datum Histogram", en in die "Veld" kies "@timestamp", wat 'n tydelike veld aandui. Kom ons laat "Minimum interval" in die "Outo"-toestand, en dit sal outomaties aanpas by ons skerm. 

Skep 'n Dashboard in Kibana om logs te monitor
Deur op die "Update"-knoppie te klik, sal ons elke 30 sekondes 'n grafiek sien met die aantal versoeke.

Skep 'n Dashboard in Kibana om logs te monitor
Kom ons stel nou die kolomme op die Y-as op. Nou vertoon ons die totale aantal versoeke in die geselekteerde tydinterval.

Skep 'n Dashboard in Kibana om logs te monitor
Kom ons verander die "Aggregasie" waarde na "Som Emmer", wat ons in staat sal stel om data van suksesvolle en onsuksesvolle versoeke te kombineer. In die Emmer -> Aggregasie-blok, kies samevoeging deur “Filters” en stel filtering volgens “statusKode >= 400”. En in die "Custom label"-veld dui ons ons aanwysernaam aan vir 'n duideliker vertoning in die legende op die grafiek en in die algemene lys.

Skep 'n Dashboard in Kibana om logs te monitor
Deur op die "Update"-knoppie onder die instellingsblok te klik, kry ons 'n grafiek met problematiese navrae.

Skep 'n Dashboard in Kibana om logs te monitor
As jy op die sirkel langs die legende klik, sal 'n venster verskyn waarin jy die kleur van die kolomme kan verander.

Skep 'n Dashboard in Kibana om logs te monitor
Kom ons voeg nou data oor suksesvolle versoeke by die grafiek. Klik in die "Metrieks"-afdeling op die "Voeg by"-knoppie en kies "Y-as".

Skep 'n Dashboard in Kibana om logs te monitor
In die geskep metrieke maak ons ​​dieselfde instellings as vir foutiewe versoeke. Slegs in die filter dui ons "statuskode < 400" aan.

Skep 'n Dashboard in Kibana om logs te monitor
Deur die kleur van die nuwe kolom te verander, kry ons 'n vertoning van die verhouding van problematiese en suksesvolle versoeke.

Skep 'n Dashboard in Kibana om logs te monitor
Deur op die "Stoor"-knoppie bo-aan die skerm te klik en 'n naam te spesifiseer, sal ons die eerste grafiek op die Dashboard sien.

Skep 'n Dashboard in Kibana om logs te monitor

Datatabel

Kom ons kyk nou na die "Datatabel"-tabelaansig. Kom ons skep 'n tabel met 'n lys van alle URL's waarheen daar versoeke was en die aantal van hierdie versoeke. Soos in die Vertical Bar-voorbeeld, kies ons eers 'n databron.

Skep 'n Dashboard in Kibana om logs te monitor
Hierna sal 'n tabel met een kolom op die skerm vertoon word, wat die totale aantal versoeke vir die geselekteerde tydinterval wys.

Skep 'n Dashboard in Kibana om logs te monitor
Ons sal net die "Buckets" blok verander. Klik op die knoppie "Voeg by" en kies "Verdeel rye".

Skep 'n Dashboard in Kibana om logs te monitor
In die "Aggregasie"-veld, kies "Terme". En in die "Veld"-veld wat verskyn, kies "url.keyword".

Skep 'n Dashboard in Kibana om logs te monitor
Deur die waarde "Url" in die "Custom label"-veld te spesifiseer en "Update" te klik, sal ons die verlangde tabel ontvang met die aantal versoeke vir elke URL vir die geselekteerde tydperk.

Skep 'n Dashboard in Kibana om logs te monitor
Klik weer boaan die skerm op die "Stoor"-knoppie en spesifiseer die naam van die tabel, byvoorbeeld URL's. Kom ons gaan terug na die Dashboard en sien beide aansigte geskep.

Skep 'n Dashboard in Kibana om logs te monitor

Werk met Dashboard

Wanneer ons die Dashboard skep, stel ons slegs die basiese aansigparameters in die vertoonobjekinstellings. Dit is geen sin om data vir filters in voorwerpe te spesifiseer nie, byvoorbeeld "datumreeks", "filtrering deur gebruikeragent", "filtrering volgens land van versoek", ens. Dit is baie geriefliker om die verlangde tydperk te spesifiseer of die nodige filtering in die navraagpaneel in te stel, wat bo die voorwerpe geleë is.

Skep 'n Dashboard in Kibana om logs te monitor
Filters wat in hierdie paneel bygevoeg word, sal op die hele Dashboard toegepas word, en alle vertoonvoorwerpe sal herrangskik word volgens die huidige gefiltreerde data.

Gevolgtrekking

Kibana is 'n kragtige instrument waarmee u enige data op 'n gerieflike manier kan visualiseer. Ek het probeer om die opstelling van twee hooftipes skerms te wys. Maar ander tipes is op 'n soortgelyke manier gekonfigureer. En die oorvloed instellings wat ek agter die skerms gelaat het, sal jou toelaat om die kaarte baie buigsaam aan te pas om by jou behoeftes te pas.

Bron: will.com

Voeg 'n opmerking