Stvaranje nadzorne ploče u Kibani za praćenje zapisa

Stvaranje nadzorne ploče u Kibani za praćenje zapisa

Pozdrav, moje ime je Eugene, ja sam voditelj B2B tima u Citymobilu. Jedan od zadataka našeg tima je podrška integracijama za naručivanje taksija od partnera, a kako bismo osigurali stabilnu uslugu, uvijek moramo razumjeti što se događa u našim mikroservisima. A za to morate stalno pratiti zapisnike.

U Citymobilu za rad s logovima koristimo ELK stack (ElasticSearch, Logstash, Kibana) i količina podataka koja tamo dolazi je ogromna. Pronalaženje problema u ovoj masi zahtjeva koji se mogu pojaviti nakon postavljanja novog koda prilično je teško. A za njihovu vizualnu identifikaciju, Kibana ima odjeljak Dashboard.

Postoji dosta članaka na Habréu s primjerima kako postaviti ELK stog za primanje i pohranu podataka, ali nema relevantnih materijala o stvaranju nadzorne ploče. Stoga želim pokazati kako stvoriti vizualni prikaz podataka na temelju dolaznih zapisa u Kibani.

podešavanje

Da bi bilo jasnije, napravio sam Docker sliku s ELK-om i Filebeatom. I stavljen u malu posudu program u Go, koji će za naš primjer generirati testne zapisnike. Neću detaljno opisivati ​​konfiguraciju ELK-a, o tome je dovoljno napisano na Habréu.

Klonirajte repozitorij konfiguracije docker-compose i ELK postavke te ga pokrenite naredbom docker-compose up. Namjerno nije dodano ključ -dda biste vidjeli napredak ELK stoga.

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

Ako je sve ispravno konfigurirano, vidjet ćemo unos u zapisnicima (možda ne odmah, postupak pokretanja spremnika s cijelim stogom može potrajati nekoliko minuta):

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

Po adresi localhost:5061 Kibana bi se trebala otvoriti.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Jedina stvar koju trebamo konfigurirati je stvoriti obrazac indeksa za Kibanu s informacijama o tome koje podatke prikazati. Da bismo to učinili, izvršit ćemo curl zahtjev ili izvršiti niz radnji u grafičkom sučelju.

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

Stvaranje uzorka indeksa putem GUI-ja
Za konfiguraciju odaberite odjeljak Otkrij u lijevom izborniku i dođite do stranice za stvaranje indeksnog uzorka.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Klikom na gumb "Create index pattern" dolazimo na stranicu za izradu indeksa. U polje "Naziv uzorka indeksa" unesite "logstash-*". Ako je sve ispravno konfigurirano, ispod Kibane će biti prikazani indeksi koji potpadaju pod pravilo.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Na sljedećoj stranici odaberite ključno polje s vremenskom oznakom, u našem slučaju jest @timestamp.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Ovo će dovesti do stranice s postavkama indeksa, ali u ovom trenutku od nas nisu potrebne nikakve daljnje radnje.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa

Sada možemo ponovno otići na odjeljak Discover, gdje ćemo vidjeti unose dnevnika.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa

Nadzorna ploča

U lijevom izborniku kliknite na odjeljak Izrada nadzorne ploče i dođite do odgovarajuće stranice.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Kliknite na "Create new dashboard" i doći ćete na stranicu za dodavanje objekata na Dashboard.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Kliknite na gumb "Kreiraj novi", a sustav će od vas zatražiti odabir vrste prikaza podataka. Kibana ih ima velik broj, no mi ćemo se osvrnuti na izradu grafičkog prikaza "Okomite trake" i tablične "Podatkovne tablice". Ostale vrste prezentacija konfiguriraju se na sličan način. 
Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Neki dostupni objekti označeni su B i E, što znači da je format eksperimentalni ili u beta testiranju. S vremenom se format može promijeniti ili potpuno nestati iz Kibane.

Okomita šipka

Za primjer “Okomite trake”, napravimo histogram omjera uspješnih i neuspješnih statusa odgovora naše usluge. Na kraju postavki dobivamo sljedeći grafikon:

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Klasificirat ćemo sve zahtjeve sa statusom odgovora < 400 kao uspješne, a >= 400 kao problematične.

Za izradu "Okomite trake" grafikona moramo odabrati izvor podataka. Odaberite uzorak indeksa koji smo izradili ranije.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Prema zadanim postavkama, nakon odabira izvora podataka pojavit će se jedan čvrsti grafikon. Postavimo to.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
U bloku "Buckets" pritisnite gumb "Add", odaberite "X-asis" i postavite os X. Ostavimo vremenske oznake za prijem unosa u dnevnik. U polju "Aggregation" odaberite "Date Histogram", a u "Field" odaberite "@timestamp", označavajući polje vremena. Ostavimo "Minimalni interval" u stanju "Auto", i on će se automatski prilagoditi našem prikazu. 

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Klikom na gumb "Ažuriraj" vidjet ćemo graf s brojem zahtjeva svakih 30 sekundi.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Sada postavimo stupce duž osi Y. Sada prikazujemo ukupan broj zahtjeva u odabranom vremenskom intervalu.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Promijenimo vrijednost "Aggregation" u "Sum Bucket", što će nam omogućiti kombiniranje podataka za uspješne i neuspješne zahtjeve. U bloku Bucket -> Aggregation odaberite agregaciju prema "Filters" i postavite filtriranje prema "statusCode >= 400". A u polju "Prilagođena oznaka" navodimo naš naziv indikatora za razumljiviji prikaz u legendi na grafikonu i na općem popisu.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Klikom na gumb "Ažuriraj" ispod bloka postavki dobit ćemo grafikon sa zahtjevima problema.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Ako kliknete na krug pored legende, pojavit će se prozor u kojem možete promijeniti boju stupaca.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Dodajmo sada podatke o uspješnim zahtjevima na grafikon. U odjeljku "Mjerni podaci" kliknite gumb "Dodaj" i odaberite "Os Y".

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
U stvorenoj metrici postavljamo iste postavke kao i za pogrešne zahtjeve. Samo u filteru navodimo "statusCode < 400".

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Promjenom boje novog stupca dobivamo prikaz omjera problematičnih i uspješnih zahtjeva.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Klikom na gumb "Spremi" na vrhu ekrana i određivanjem imena, vidjet ćemo prvi grafikon na nadzornoj ploči.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa

Tablica podataka

Sada razmotrite tablični prikaz "Tablica podataka". Kreirajmo tablicu s popisom svih URL-ova koji su zatraženi i brojem tih zahtjeva. Kao i kod primjera okomite trake, prvo odabiremo izvor podataka.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Nakon toga na ekranu će se prikazati tablica s jednim stupcem koji prikazuje ukupan broj zahtjeva za odabrani vremenski interval.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Promijenit ćemo samo blok "Kunte". Kliknite gumb "Dodaj" i odaberite "Razdijeli retke".

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
U polju "Agregacija" odaberite "Uvjeti". I u polju "Polje" koje se pojavi odaberite "url.keyword".

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Određivanjem vrijednosti "Url" u polje "Custom label" i klikom na "Update" dobit ćemo željenu tablicu s brojem zahtjeva za svaki od URL-ova za odabrano vremensko razdoblje.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Na vrhu ekrana ponovno kliknite gumb "Spremi" i odredite naziv tablice, na primjer Urls. Vratimo se na nadzornu ploču i vidimo kako su stvorena oba prikaza.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa

Rad s nadzornom pločom

Prilikom izrade nadzorne ploče postavljamo samo osnovne parametre prikaza u postavkama prikaza objekta. Nema smisla navoditi podatke za filtre u objektima, na primjer, "datumski raspon", "filtriranje po korisničkom agentu", "filtriranje po zemlji zahtjeva" itd. Mnogo je prikladnije odrediti željeno vremensko razdoblje ili postaviti potrebno filtriranje na ploči upita koja se nalazi iznad objekata.

Stvaranje nadzorne ploče u Kibani za praćenje zapisa
Filtri dodani na ovu ploču primijenit će se na cijelu nadzornu ploču, a svi objekti prikaza bit će ponovno izgrađeni u skladu sa stvarnim filtriranim podacima.

Zaključak

Kibana je moćan alat koji vam omogućuje vizualizaciju bilo kojih podataka na prikladan način. Pokušao sam prikazati postavke dvije glavne vrste prikaza. Ali druge su vrste konfigurirane na sličan način. A obilje postavki koje sam ostavio "iza kulisa" omogućit će vam vrlo fleksibilnu prilagodbu grafikona kako bi odgovarali vašim potrebama.

Izvor: www.habr.com

Dodajte komentar