Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov

Pozdravljeni, ime mi je Eugene, sem vodja skupine B2B pri Citymobilu. Ena od nalog naše ekipe je podpora integracijam za naročanje taksija pri partnerjih, za zagotovitev stabilne storitve pa moramo vedno razumeti, kaj se dogaja v naših mikrostoritvah. In za to morate nenehno spremljati dnevnike.

V Citymobilu za delo z dnevniki uporabljamo sklad ELK (ElasticSearch, Logstash, Kibana) in količina podatkov, ki prihaja tja, je ogromna. Iskanje težav v tej množici zahtev, ki se lahko pojavijo po uvedbi nove kode, je precej težko. Za njihovo vizualno identifikacijo ima Kibana razdelek nadzorne plošče.

Na Habréju je kar nekaj člankov s primeri, kako nastaviti sklad ELK za sprejemanje in shranjevanje podatkov, ni pa nobenega ustreznega gradiva o ustvarjanju nadzorne plošče. Zato želim pokazati, kako ustvariti vizualno predstavitev podatkov na podlagi dohodnih dnevnikov v Kibani.

prilagoditev

Da bo bolj jasno, sem ustvaril sliko Docker z ELK in Filebeat. In postavljen v majhno posodo program v Go, ki bo za naš primer ustvaril testne dnevnike. Ne bom podrobno opisoval konfiguracije ELK, o tem je dovolj napisanega na Habréju.

Klonirajte repozitorij konfiguracij docker-compose in nastavitve ELK ter ga zaženite z ukazom docker-compose up. Namenoma ne dodam ključa -dda vidite napredek sklada ELK.

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

Če je vse pravilno konfigurirano, bomo v dnevnikih videli vnos (morda ne takoj, postopek zagona vsebnika s celotnim skladom lahko traja nekaj minut):

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

Po naslovu localhost:5061 Kibana bi se morala odpreti.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Edina stvar, ki jo moramo konfigurirati, je ustvariti vzorec indeksa za Kibano z informacijami o tem, katere podatke prikazati. Da bi to naredili, bomo izvedli zahtevo curl ali izvedli niz dejanj v grafičnem vmesniku.

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

Ustvarjanje vzorca indeksa prek GUI
Za konfiguracijo izberite razdelek Odkrij v levem meniju in pojdite na stran za ustvarjanje vzorca indeksa.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
S klikom na gumb "Create index pattern" pridemo na stran za ustvarjanje indeksa. V polje "Ime vzorca indeksa" vnesite "logstash-*". Če je vse pravilno konfigurirano, bo spodaj Kibana prikazala indekse, ki spadajo pod pravilo.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Na naslednji strani izberite ključno polje s časovnim žigom, v našem primeru je @timestamp.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
S tem se bo prikazala stran z nastavitvami indeksa, vendar vam trenutno ni treba ukrepati.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov

Zdaj lahko znova odpremo razdelek Odkrij, kjer bomo videli vnose v dnevnik.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov

Splošno

V levem meniju kliknite razdelek Ustvarjanje nadzorne plošče in pojdite na ustrezno stran.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Kliknite »Ustvari novo nadzorno ploščo« in pojdite na stran za dodajanje predmetov na nadzorno ploščo.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Kliknite na gumb "Ustvari novo" in sistem vas bo pozval, da izberete vrsto prikaza podatkov. Kibana jih ima veliko, vendar si bomo ogledali ustvarjanje grafične predstavitve "Navpične črte" in tabelarične "Podatkovne tabele". Druge vrste predstavitve so konfigurirane na podoben način. 
Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Nekateri razpoložljivi predmeti so označeni z B in E, kar pomeni, da je oblika eksperimentalna ali v beta testiranju. Sčasoma se lahko oblika spremeni ali popolnoma izgine iz Kibane.

Navpična vrstica

Za primer »Navpični stolpec« izdelajmo histogram razmerja uspešnih in neuspešnih odzivnih statusov naše storitve. Na koncu nastavitev dobimo naslednji graf:

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Vse zahteve s statusom odgovora < 400 bomo razvrstili kot uspešne in >= 400 kot problematične.

Za ustvarjanje grafikona "Vertical Bar" moramo izbrati vir podatkov. Izberite vzorec indeksa, ki smo ga ustvarili prej.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Privzeto se po izbiri vira podatkov prikaže en sam poln graf. Postavimo ga.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
V bloku "Buckets" pritisnite gumb "Add", izberite "X-asis" in nastavite os X. Odložimo časovne žige za prejem vnosov v dnevnik. V polju »Aggregation« izberite »Date Histogram« in v »Field« izberite »@timestamp«, pri čemer navedite časovno polje. Pustimo »Minimalni interval« v stanju »Samodejno« in samodejno se bo prilagodil našemu zaslonu. 

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
S klikom na gumb »Posodobi« se nam prikaže graf s številom zahtevkov vsakih 30 sekund.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Sedaj nastavimo stolpce vzdolž osi Y. Sedaj prikažemo skupno število zahtevkov v izbranem časovnem intervalu.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Spremenimo vrednost »Aggregation« v »Sum Bucket«, kar nam bo omogočilo združevanje podatkov za uspešne in neuspešne zahteve. V bloku Bucket -> Aggregation izberite združevanje po »Filtrih« in nastavite filtriranje po »statusCode >= 400«. In v polju "Oznaka po meri" navedemo naše ime indikatorja za bolj razumljiv prikaz v legendi na grafikonu in na splošnem seznamu.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
S klikom na gumb »Posodobi« pod blokom nastavitev bomo dobili graf z zahtevami za težave.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Če kliknete na krogec poleg legende, se prikaže okno, v katerem lahko spremenite barvo stolpcev.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Zdaj pa dodamo podatke o uspešnih zahtevah v grafikon. V razdelku »Metrike« kliknite gumb »Dodaj« in izberite »Os Y«.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
V ustvarjeni metriki naredimo enake nastavitve kot pri napačnih zahtevah. Samo v filtru določimo "statusCode < 400".

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
S spremembo barve novega stolpca dobimo prikaz razmerja med problematičnimi in uspešnimi zahtevami.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
S klikom na gumb »Shrani« na vrhu zaslona in določitvijo imena bomo videli prvi grafikon na nadzorni plošči.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov

Tabela podatkov

Zdaj razmislite o tabelarnem pogledu "Podatkovna tabela". Ustvarimo tabelo s seznamom vseh zahtevanih URL-jev in številom teh zahtev. Kot pri primeru z navpično vrstico najprej izberemo vir podatkov.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Po tem se na zaslonu prikaže tabela z enim stolpcem, ki prikazuje skupno število zahtev za izbrani časovni interval.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Spremenili bomo samo blok "Vedra". Kliknite gumb »Dodaj« in izberite »Razdeli vrstice«.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
V polju "Združevanje" izberite "Pogoji". In v prikazanem polju "Polje" izberite "url.keyword".

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Z vnosom vrednosti »Url« v polje »Oznaka po meri« in klikom na »Posodobi« dobimo želeno tabelo s številom zahtev za vsakega od URL-jev za izbrano časovno obdobje.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Na vrhu zaslona znova kliknite gumb »Shrani« in podajte ime tabele, na primer Urls. Vrnimo se na nadzorno ploščo in poglejmo ustvarjena oba pogleda.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov

Delo z nadzorno ploščo

Pri izdelavi nadzorne plošče v nastavitvah prikaznega objekta nastavimo samo parametre glavnega pogleda. Nima smisla podajati podatkov za filtre v objektih, na primer »datumski obseg«, »filtriranje po uporabniškem agentu«, »filtriranje po državi zahteve« itd. Veliko bolj priročno je določiti želeno časovno obdobje ali nastaviti potrebno filtriranje v poizvedovalni plošči, ki se nahaja nad predmeti.

Ustvarjanje nadzorne plošče v Kibani za spremljanje dnevnikov
Filtri, dodani na to ploščo, bodo uporabljeni na celotni nadzorni plošči in vsi prikazni objekti bodo ponovno zgrajeni v skladu z dejanskimi filtriranimi podatki.

Zaključek

Kibana je zmogljivo orodje, ki vam omogoča vizualizacijo vseh podatkov na priročen način. Poskušal sem prikazati nastavitev dveh glavnih vrst zaslona. Toda druge vrste so konfigurirane na podoben način. Obilje nastavitev, ki sem jih pustil »za prizori«, vam bo omogočilo zelo prilagodljivo prilagajanje grafikonov vašim potrebam.

Vir: www.habr.com

Dodaj komentar