„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti

Sveiki, mano vardas Eugenijus, esu „Citymobil“ B2B komandos vadovas. Viena iš mūsų komandos užduočių – palaikyti taksi užsakymo iš partnerių integracijas, o norėdami užtikrinti stabilų aptarnavimą, visada turime suprasti, kas vyksta mūsų mikroservisuose. Ir tam reikia nuolat stebėti žurnalus.

„Citymobil“ darbui su žurnalais naudojame ELK stacką (ElasticSearch, Logstash, Kibana), o ten gaunamų duomenų kiekis yra didžiulis. Gana sunku rasti problemų šioje užklausų masėje, kuri gali atsirasti įdiegus naują kodą. O jų vizualiniam atpažinimui „Kibana“ turi prietaisų skydelio skyrių.

Yra nemažai straipsnių apie Habré su pavyzdžiais, kaip nustatyti ELK steką duomenims gauti ir saugoti, tačiau nėra atitinkamos medžiagos apie informacijos suvestinės kūrimą. Todėl noriu parodyti, kaip sukurti vaizdinį duomenų atvaizdavimą pagal gaunamus žurnalus „Kibana“.

reguliavimas

Kad būtų aiškiau, sukūriau Docker vaizdą su ELK ir Filebeat. Ir įdėjo į konteinerį mažą programa programoje Go, kuri mūsų pavyzdyje sugeneruos bandymų žurnalus. Detaliai ELK konfigūracijos neaprašysiu, Habré apie tai pakankamai parašyta.

Klonuoti konfigūracijos saugyklą docker-compose ir ELK nustatymus, ir paleiskite jį komanda docker-compose up. Tyčia nepridedamas raktas -dpamatyti ELK krūvos progresą.

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

Jei viskas sukonfigūruota teisingai, žurnaluose pamatysime įrašą (galbūt ne iš karto, konteinerio su visu kaminu paleidimo procesas gali užtrukti keletą minučių):

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

Pagal adresą localhost:5061 Kibana turėtų atsidaryti.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Vienintelis dalykas, kurį turime sukonfigūruoti, yra sukurti „Kibana“ rodyklės šabloną su informacija apie tai, kokius duomenis rodyti. Norėdami tai padaryti, grafinėje sąsajoje vykdysime užklausą arba atliksime keletą veiksmų.

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

Indekso šablono kūrimas naudojant GUI
Norėdami sukonfigūruoti, kairiajame meniu pasirinkite skyrių Atraskite ir eikite į rodyklės šablono kūrimo puslapį.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Paspaudę mygtuką „Sukurti rodyklės šabloną“, pateksime į rodyklės kūrimo puslapį. Lauke „Indekso šablono pavadinimas“ įveskite „logstash-*“. Jei viskas sukonfigūruota teisingai, žemiau Kibana bus rodomi indeksai, kuriems taikoma taisyklė.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Kitame puslapyje pasirinkite rakto lauką su laiko žyma, mūsų atveju tai yra @timestamp.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Bus atidarytas rodyklės nustatymų puslapis, tačiau šiuo metu nereikia imtis jokių papildomų veiksmų.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti

Dabar vėl galime pereiti į skyrių „Atrask“, kur pamatysime žurnalo įrašus.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti

Prietaisų skydas

Kairiajame meniu spustelėkite prietaisų skydelio kūrimo skyrių ir eikite į atitinkamą puslapį.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Spustelėkite „Sukurti naują prietaisų skydelį“ ir eikite į puslapį, kuriame galite pridėti objektų prie prietaisų skydelio.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Spustelėkite mygtuką „Sukurti naują“ ir sistema paragins pasirinkti duomenų rodymo tipą. „Kibana“ jų turi labai daug, tačiau pažiūrėsime, kaip sukurti grafinį „Vertikalios juostos“ vaizdą ir lentelę „Duomenų lentelė“. Kiti pateikimo tipai konfigūruojami panašiai. 
„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Kai kurie galimi objektai pažymėti B ir E, o tai reiškia, kad formatas yra eksperimentinis arba bandomas beta versijoje. Laikui bėgant formatas gali pasikeisti arba visiškai išnykti iš „Kibana“.

Vertikali juosta

Pavyzdyje „Vertikali juosta“ sukurkime sėkmingų ir nesėkmingų mūsų paslaugos atsakymų būsenų santykio histogramą. Nustatymų pabaigoje gauname tokią diagramą:

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Visas užklausas, kurių atsakymo būsena < 400, klasifikuosime kaip sėkmingas, o >= 400 kaip problemines.

Norėdami sukurti „Vertikalią juostinę“ diagramą, turime pasirinkti duomenų šaltinį. Pasirinkite anksčiau sukurtą rodyklės šabloną.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Pagal numatytuosius nustatymus pasirinkus duomenų šaltinį bus rodomas vienas vientisas grafikas. Nustatykime.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Bloke "Kaušeliai" paspauskite mygtuką "Pridėti", pasirinkite "X-asis" ir nustatykite X ašį. Išilgai jos palikime žurnalo įrašų laiko žymes. Lauke „Apibendrinimas“ pasirinkite „Datos histograma“, o lauke „Lauko“ pasirinkite „@timestamp“, nurodydami laiko lauką. Palikime „Minimalaus intervalo“ būseną „Auto“ ir jis automatiškai prisitaikys prie mūsų ekrano. 

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Paspaudę mygtuką „Atnaujinti“, pamatysime grafiką su užklausų skaičiumi kas 30 sekundžių.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Dabar nustatykime stulpelius išilgai Y ašies. Dabar rodome bendrą užklausų skaičių pasirinktu laiko intervalu.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Pakeiskime „Agregavimo“ reikšmę į „Sum Bucket“, kuri leis sujungti sėkmingų ir nesėkmingų užklausų duomenis. Bloke Bucket -> Aggregation pasirinkite agregavimą pagal "Filtrai" ir nustatykite filtravimą pagal "statusCode >= 400". O lauke „Pasirinktinė etiketė“ nurodome savo indikatoriaus pavadinimą, kad būtų aiškiau rodomas diagramos legendoje ir bendrame sąraše.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Po nustatymų bloku spustelėję mygtuką „Atnaujinti“, gausime grafiką su problemų užklausomis.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Jei paspausite šalia legendos esantį apskritimą, atsiras langas, kuriame galėsite pakeisti stulpelių spalvą.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Dabar į diagramą įtraukkime duomenis apie sėkmingas užklausas. Skiltyje „Metrika“ spustelėkite mygtuką „Pridėti“ ir pasirinkite „Y ašis“.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Sukurtoje metrikoje atliekame tuos pačius nustatymus kaip ir klaidingoms užklausoms. Tik filtre nurodome "statusCode < 400".

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Pakeitę naujos stulpelio spalvą, gauname probleminių ir sėkmingų užklausų santykio ekraną.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Spustelėję mygtuką „Išsaugoti“ ekrano viršuje ir nurodę pavadinimą, prietaisų skydelyje pamatysime pirmąją diagramą.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti

duomenų lentelė

Dabar apsvarstykite lentelės rodinį „Duomenų lentelė“. Sukurkime lentelę su visų užklausų URL sąrašu ir tų užklausų skaičiumi. Kaip ir vertikalios juostos pavyzdyje, pirmiausia pasirenkame duomenų šaltinį.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Po to ekrane bus rodoma lentelė su vienu stulpeliu, kurioje rodomas bendras užklausų skaičius pasirinktam laiko intervalui.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Keisime tik bloką „Kaušeliai“. Spustelėkite mygtuką „Pridėti“ ir pasirinkite „Padalyti eilutes“.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Lauke „Apibendrinimas“ pasirinkite „Sąlygos“. Ir pasirodžiusiame lauke „Laukas“ pasirinkite „url.keyword“.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Lauke „Custom label“ nurodę „Url“ reikšmę ir paspaudę „Atnaujinti“, gausime norimą lentelę su užklausų skaičiumi kiekvienam URL pasirinktam laikotarpiui.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Ekrano viršuje dar kartą spustelėkite mygtuką „Išsaugoti“ ir nurodykite lentelės pavadinimą, pavyzdžiui, URL. Grįžkime į informacijos suvestinę ir pamatysime abu sukurtus rodinius.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti

Darbas su prietaisų skydeliu

Kurdami Dashboard ekrano objekto nustatymuose nustatome tik pagrindinius rodinio parametrus. Nėra prasmės nurodyti filtrų duomenis objektuose, pvz., „datų diapazonas“, „filtravimas pagal vartotojo agentą“, „filtravimas pagal užklausos šalį“ ir kt. Daug patogiau užklausų skydelyje, esančiame virš objektų, nurodyti norimą laikotarpį arba nustatyti reikiamą filtravimą.

„Kibana“ prietaisų skydelio kūrimas žurnalams stebėti
Šiame skydelyje pridėti filtrai bus taikomi visai informacijos suvestinei, o visi ekrano objektai bus atkurti pagal faktinius filtruotus duomenis.

išvada

Kibana yra galingas įrankis, leidžiantis patogiai vizualizuoti bet kokius duomenis. Bandžiau parodyti dviejų pagrindinių rodymo tipų nustatymus. Tačiau kiti tipai sukonfigūruoti panašiai. O nustatymų gausa, kurią palikau „už kadro“, leis labai lanksčiai pritaikyti diagramas pagal savo poreikius.

Šaltinis: www.habr.com

Добавить комментарий