Kreante Panelon en Kibana por Monitori Protokolojn

Kreante Panelon en Kibana por Monitori Protokolojn

Saluton, mia nomo estas Evgeniy, mi estas la B2B-teamestro ĉe Citymobil. Unu el la taskoj de nia teamo estas subteni integriĝojn por taksiomendado de partneroj, kaj por certigi stabilan servon ni devas ĉiam kompreni kio okazas en niaj mikroservoj. Kaj por tio vi devas konstante kontroli la ŝtipojn.

Ĉe Citymobil, ni uzas la ELK-stakon (ElasticSearch, Logstash, Kibana) por labori kun protokoloj, kaj la volumo de datumoj ricevitaj tie estas grandega. En ĉi tiu amaso da petoj, estas sufiĉe malfacile trovi problemojn, kiuj povas aperi post la disvastigo de nova kodo. Kaj por klare identigi ilin, Kibana havas sekcion Dashboard.

Estas sufiĉe multaj artikoloj pri Habré kun ekzemploj pri kiel agordi ELK-stakon por ricevi kaj stoki datumojn, sed ne ekzistas koncernaj materialoj pri kreado de Panelo. Sekve, mi volas montri kiel krei vidan reprezenton de datumoj bazita sur envenantaj protokoloj en Kibana.

alĝustigo

Por pliklarigi ĝin, mi kreis Docker-bildon kun ELK kaj Filebeat. Kaj metis malgrandan en ujon la programo en Go, kiu por nia ekzemplo generos testajn protokolojn. Mi ne detale priskribos la agordon de ELK; estas sufiĉe skribita pri tio ĉe Habré.

Klonante la deponejon kun la agordo docker-compose kaj ELK-agordojn, kaj lanĉu ĝin per la komando docker-compose up. Mi ne intence aldonas ŝlosilon. -dpor vidi la procezon de la ELK-stako.

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

Se ĉio estas agordita ĝuste, tiam ni vidos eniron en la protokoloj (eble ne tuj, la procezo de lanĉo de ujo kun la tuta stako povas daŭri plurajn minutojn):

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

Per la adreso localhost:5061 Kibana devus malfermiĝi.

Kreante Panelon en Kibana por Monitori Protokolojn
Kreante Panelon en Kibana por Monitori Protokolojn
La nura afero, kiun ni devas agordi, estas krei Indeksan Ŝablonon por Kibana kun informoj pri kiaj datumoj montriĝas. Por fari tion, ni faru buklan peton aŭ faru serion da agoj en la grafika interfaco.

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

Kreante Indeksan ŝablonon per GUI
Por agordi, elektu la sekcion Malkovru en la maldekstra menuo kaj aliru al la paĝo pri kreado de Indeksa ŝablono.

Kreante Panelon en Kibana por Monitori Protokolojn
Alklakante la butonon "Krei indeksan ŝablonon", ni estas kondukitaj al la paĝo pri indeksa kreado. En la kampo "Indeksa ŝablono nomo", enigu "logstash-*". Se ĉio estas agordita ĝuste, sube Kibana montros la indeksojn kiuj falas sub la regulo.

Kreante Panelon en Kibana por Monitori Protokolojn
Sur la sekva paĝo, elektu la ŝlosilan kampon kun tempomarko, en nia kazo ĝi estas @timestamp.

Kreante Panelon en Kibana por Monitori Protokolojn
Kiel rezulto, la indeksa agorda paĝo aperos, sed neniuj aldonaj agoj estas postulataj de ni nun.

Kreante Panelon en Kibana por Monitori Protokolojn

Nun ni povas reiri al la sekcio Malkovri, kie ni vidos la protokolojn.

Kreante Panelon en Kibana por Monitori Protokolojn

Dashboard

En la maldekstra menuo, alklaku la sekcion de Kreado de Dashboard kaj aliru al la responda paĝo.

Kreante Panelon en Kibana por Monitori Protokolojn
Alklaku "Krei novan panelon" kaj iru al la paĝo por aldoni objektojn al la panelo.

Kreante Panelon en Kibana por Monitori Protokolojn
Alklaku la butonon "Krei novan", kaj la sistemo petos vin elekti la tipon de datummontrado. Estas granda nombro da ili en Kibana, sed ni rigardos krei grafikan reprezenton "Vertikala Trinkejo" kaj tabelan "Datuman Tabelon". Aliaj specoj de prezento estas agordita en simila maniero. 
Kreante Panelon en Kibana por Monitori Protokolojn
Kelkaj disponeblaj eroj estas etikeditaj B kaj E, indikante ke la formato estas eksperimenta aŭ en betao. Kun la tempo, la formato povas ŝanĝi aŭ tute malaperi de Kibana.

Vertikala Trinkejo

Por la ekzemplo de "Vertikala Trinkejo", ni kreu histogramon de la proporcio de sukcesaj kaj malsukcesaj respondaj statoj de nia servo. Fininte la agordojn, ni ricevos la sekvan grafikon:

Kreante Panelon en Kibana por Monitori Protokolojn
Ni klasifikos kiel sukcesajn ĉiujn petojn kun responda stato < 400, kaj kiel problemajn - >= 400.

Por krei diagramon de "Vertikala Trinkejo", ni devas elekti datumfonton. Elektu la Indeksan Ŝablonon, kiun ni kreis pli frue.

Kreante Panelon en Kibana por Monitori Protokolojn
Defaŭlte, post kiam vi elektas datumfonton, unu kontinua grafeo aperos. Ni starigu ĝin.

Kreante Panelon en Kibana por Monitori Protokolojn
En la bloko "Siteloj", alklaku la butonon "Aldoni", elektu "X-asis" kaj agordu la X-akson. Ni grafiku la tempomarkojn de registroj enirantaj la protokolon laŭ ĝi. En la kampo "Agregado", elektu "Data Histogramo", kaj en la "Kampo" elektu "@timestamp", indikante provizoran kampon. Ni lasu "Minimuma intervalo" en la stato "Aŭtomata", kaj ĝi aŭtomate ĝustigos al nia ekrano. 

Kreante Panelon en Kibana por Monitori Protokolojn
Alklakante la butonon "Ĝisdatigi", ni vidos grafikon kun la nombro da petoj ĉiujn 30 sekundojn.

Kreante Panelon en Kibana por Monitori Protokolojn
Nun ni agordu la kolumnojn sur la Y-akso. Nun ni montras la totalan nombron da petoj en la elektita tempointervalo.

Kreante Panelon en Kibana por Monitori Protokolojn
Ni ŝanĝu la valoron "Agregado" al "Suma Sitelo", kio permesos al ni kombini datumojn de sukcesaj kaj malsukcesaj petoj. En la Sitelo -> Agregado-bloko, elektu agregadon per "Filtriloj" kaj agordu filtradon per "statusCode >= 400". Kaj en la kampo "Persona etikedo" ni indikas nian indikilan nomon por pli klara montrado en la legendo sur la diagramo kaj en la ĝenerala listo.

Kreante Panelon en Kibana por Monitori Protokolojn
Alklakante la butonon "Ĝisdatigi" sub la agorda bloko, ni ricevas grafikon kun problemaj demandoj.

Kreante Panelon en Kibana por Monitori Protokolojn
Se vi alklakas la rondon apud la legendo, aperos fenestro, en kiu vi povas ŝanĝi la koloron de la kolumnoj.

Kreante Panelon en Kibana por Monitori Protokolojn
Nun ni aldonu datumojn pri sukcesaj petoj al la diagramo. En la sekcio "Metrikoj", alklaku la butonon "Aldoni" kaj elektu "Y-akso".

Kreante Panelon en Kibana por Monitori Protokolojn
En la kreita metriko ni faras la samajn agordojn kiel por eraraj petoj. Nur en la filtrilo ni indikas "statusCode < 400".

Kreante Panelon en Kibana por Monitori Protokolojn
Ŝanĝante la koloron de la nova kolumno, ni ricevas montradon de la proporcio de problemaj kaj sukcesaj petoj.

Kreante Panelon en Kibana por Monitori Protokolojn
Alklakante la butonon "Konservi" ĉe la supro de la ekrano kaj specifante nomon, ni vidos la unuan grafikaĵon sur la Panelo.

Kreante Panelon en Kibana por Monitori Protokolojn

Datumoj Tabelo

Nun ni rigardu la tabelan vidon "Datuman Tabelo". Ni kreu tabelon kun listo de ĉiuj URL-oj al kiuj estis petoj kaj la nombro de ĉi tiuj petoj. Kiel en la ekzemplo de Vertikala Trinkejo, ni unue elektas datumfonton.

Kreante Panelon en Kibana por Monitori Protokolojn
Post tio, tablo kun unu kolumno estos montrata sur la ekrano, kiu montras la totalan nombron de petoj por la elektita tempointervalo.

Kreante Panelon en Kibana por Monitori Protokolojn
Ni ŝanĝos nur la blokon "Siteloj". Alklaku la butonon "Aldoni" kaj elektu "Disigi vicojn".

Kreante Panelon en Kibana por Monitori Protokolojn
En la kampo "Agrego", elektu "Kondiĉojn". Kaj en la kampo "Kampo" kiu aperas, elektu "url.keyword".

Kreante Panelon en Kibana por Monitori Protokolojn
Specifante la valoron "Url" en la kampo "Persona etikedo" kaj klakante "Ĝisdatigi", ni ricevos la deziratan tabelon kun la nombro da petoj por ĉiu URL por la elektita tempodaŭro.

Kreante Panelon en Kibana por Monitori Protokolojn
Ĉe la supro de la ekrano, alklaku la butonon "Konservi" denove kaj specifu la nomon de la tabelo, ekzemple Urls. Ni reiru al la Panelo kaj vidu ambaŭ vidojn kreitajn.

Kreante Panelon en Kibana por Monitori Protokolojn

Laborante kun Dashboard

Kreante la Dashboard, ni fiksas nur la bazajn vidparametrojn en la ekranobjektaj agordoj. Ne utilas specifi datumojn por filtriloj en objektoj, ekzemple "datintervalo", "filtri per uzantagento", "filtri laŭ lando de peto", ktp. Estas multe pli oportune specifi la deziratan tempoperiodon aŭ agordi la necesan filtradon en la demanda panelo, kiu situas super la objektoj.

Kreante Panelon en Kibana por Monitori Protokolojn
Filtriloj aldonitaj en ĉi tiu panelo estos aplikitaj al la tuta Panelo, kaj ĉiuj ekranobjektoj estos rearanĝitaj laŭ la nunaj filtritaj datumoj.

konkludo

Kibana estas potenca ilo, kiu ebligas al vi bildigi ajnajn datumojn en oportuna maniero. Mi provis montri la aranĝon de du ĉefaj specoj de ekrano. Sed aliaj tipoj estas agorditaj en simila maniero. Kaj la abundo da agordoj, kiujn mi lasis malantaŭ la scenoj, permesos al vi tre flekseble personecigi la leterojn laŭ viaj bezonoj.

fonto: www.habr.com

Aldoni komenton