Mhoro, zita rangu ndiEvgeniy, ini ndiri mutungamiri weB2B kuCitymobil. Rimwe rebasa rechikwata chedu ndere kutsigira kubatanidzwa kwekuodha tekisi kubva kune vatinoshanda navo, uye kuona sevhisi yakagadzikana tinofanira kugara tichinzwisisa zviri kuitika mumamicroservices edu. Uye nokuda kweizvi unoda kugara uchitarisa matanda.
PaCitymobil, tinoshandisa ELK stack (ElasticSearch, Logstash, Kibana) kushanda nematanda, uye huwandu hwe data yakagamuchirwa ipapo yakakura. Muhuwandu hwezvikumbiro izvi, zvakaoma kuwana matambudziko anogona kuoneka mushure mekutumirwa kwekodhi nyowani. Uye kuvazivisa zvakajeka, Kibana ane Dashboard chikamu.
Kune akati wandei zvinyorwa paHabrΓ© ane mienzaniso yekumisikidza ELK stack yekugamuchira nekuchengetedza data, asi hapana zvakakosha zvekugadzira Dashboard. Naizvozvo, ini ndoda kuratidza maitiro ekugadzira inomiririra inomiririra data inoenderana neanouya matanda muKibana.
kuchinja
Kuti zvinyatsojeka, ndakagadzira mufananidzo weDocker neELK uye Filebeat. Ndokuisa diki mumudziyo
Kuvhara repository nekugadzirisa docker-compose
uye ELK marongero, uye woitanga nemurairo docker-compose up
. handisi kuwedzera kiyi nemaune. -d
kuona maitiro eiyo ELK stack.
git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up
Kana zvese zvakagadziriswa nemazvo, saka tichaona kupinda mumatanda (pamwe kwete nekukurumidza, maitiro ekuvhura mudziyo une stack yese anogona kutora maminetsi akati wandei):
{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}
Nekero localhost:5061
Kibana ngachivhure.
Chinhu chega chatinoda kugadzirisa ndechekugadzira Index Pateni yeKibana ine ruzivo rwekuti ndeipi data inofanirwa kuratidzwa. Kuti tiite izvi, ngatiite chikumbiro che curl kana kuita nhevedzano yezviito mune graphical interface.
$ 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"}}'
Kugadzira Index Pateni kuburikidza neGUI
Kuti ugadzirise, sarudza chikamu cheDiscover mune yekuruboshwe menyu uye svika kuIndex maitiro ekugadzira peji.
Nekudzvanya bhatani rekuti "Gadzira index index", tinoendeswa kune peji rekugadzira index. Muchikamu che "Index pattern name", pinda "logstash-*". Kana zvese zvakagadziriswa nemazvo, pazasi Kibana icharatidza indexes inowira pasi pemutemo.
Pane peji rinotevera, sarudza kiyi munda ine timestamp, kwatiri isu ndizvo @timestamp
.
Nekuda kweizvozvo, iyo index setting peji ichaonekwa, asi hapana zvimwe zviito zvinodiwa kubva kwatiri ikozvino.
Iye zvino tinogona kudzokera kuDiscover chikamu, kwatichaona zvinyorwa zvegi.
Dashboard
Mune yekuruboshwe menyu, tinya pane Dashboard kugadzira chikamu uye svika kune rinoenderana peji.
Dzvanya pa "Gadzira dashboard nyowani" uye svika kune peji rekuwedzera zvinhu kuDashboard.
Dzvanya pabhatani re "Gadzira nyowani", uye sisitimu ichakukurudzira kuti usarudze rudzi rwekuratidzwa kwedata. Kune huwandu hukuru hwadzo muKibana, asi isu tichatarisa kugadzira graphical inomiririra "Vertical Bar" uye tabular "Data Table". Mamwe marudzi emharidzo akarongwa nenzira yakafanana.
Zvimwe zvinhu zviripo zvakanyorwa B uye E, zvichiratidza kuti fomati ndeyekuyedza kana mubeta. Nokufamba kwenguva, chimiro chinogona kuchinja kana kunyangarika zvachose kubva kuKibana.
Vertical Bar
Pamuenzaniso we "Vertical Bar", ngatigadzirei histogram yereshiyo yemhinduro dzakabudirira uye dzisina kubudirira dzesevhisi yedu. Mushure mekupedza marongero, isu tichawana inotevera girafu:
Isu tichaisa seyakabudirira zvikumbiro zvese zvine mamiriro emhinduro <400, uye sezvinonetsa ->= 400.
Kuti ugadzire "Vertical Bar" chati, tinoda kusarudza kwainobva data. Sarudza iyo Index Pattern yatakagadzira kare.
Nekumisikidza, kana ukangosarudza sosi yedata, imwe inoenderera girafu ichaonekwa. Ngatiimise.
Muchivharo che "Buckets", chengetedza "Wedzera", sarudza "X-asis" uye gadzirisa X-axis. Muchikamu che "Aggregation", sarudza "Date Histogram", uye mu "Field" sarudza "@timestamp", zvichiratidza nzvimbo yenguva pfupi. Ngatisiyei "Minimum interval" mu "Auto" mamiriro, uye inongozvigadzirisa kune yedu kuratidza.
Nekudzvanya bhatani rekuti "Gadzirisa", tinoona girafu rine huwandu hwezvikumbiro mumasekonzi makumi matatu ega ega.
Iye zvino ngatimisei makoramu paY axis. Iye zvino tinoratidza nhamba yose yezvikumbiro munguva yakasarudzwa.
Ngatichinjei kukosha kwe "Aggregation" ku "Sum Bucket", iyo ichatibvumira kusanganisa data kubva kune zvakabudirira uye zvisingabudiriri zvikumbiro. MuBucket -> Aggregation block, sarudza kuunganidzwa ne "Mafirita" uye isa kusefa ne "statusCode> = 400". Uye mundima ye "Custom label" tinoratidza zita redu rechiratidzo kuti riwedzere kujeka kuratidzwa mune ngano pane chati uye mune yakajairika runyorwa.
Nekudzvanya bhatani rekuti "Gadzirisa" pasi pechivharo chezvigadziriso, tinowana girafu ine mibvunzo inonetsa.
Kana iwe ukadzvanya padenderedzwa padyo nengano, hwindo rinoonekwa raunogona kushandura ruvara rwemakoramu.
Zvino ngatiwedzerei data pamusoro pezvikumbiro zvakabudirira kune chati. Muchikamu che "Metrics", tinya bhatani rekuti "Wedzera" uye sarudza "Y-axis".
Mune metric yakagadzirwa tinoita marongero akafanana neyekukumbira kukanganisa. Musefa chete tinoratidza "statusCode <400".
Nekuchinja ruvara rwekoramu nyowani, tinowana kuratidzwa kwereshiyo yezvinetso uye zvinobudirira zvikumbiro.
Nekudzvanya bhatani re "Chengetedza" kumusoro kwechidzitiro uye nekutsanangura zita, tichaona yekutanga girafu paDashboard.
Dhata Tafura
Zvino ngatitarisei iyo "Data Tafura" tafura yekuona. Ngatigadzirei tafura ine runyorwa rwese maURL aive nekukumbira uye nhamba yezvikumbiro izvi. Sezviri muVertical Bar muenzaniso, isu tinotanga tasarudza data sosi.
Mushure meizvi, tafura ine koramu imwe icharatidzwa pachiratidziri, iyo inoratidza huwandu hwese hwezvikumbiro zvenguva yakasarudzwa.
Tichangoshandura "Buckets" block. Dzvanya bhatani re "Wedzera" uye sarudza "Split rows".
Muchikamu che "Aggregation", sarudza "Matemu". Uye mundima ye "Field" inooneka, sarudza "url.keyword".
Nekudoma kukosha kwe "Url" muchikamu che "Custom label" uye nekudzvanya "Gadzirisa", tinogashira tafura yatinoda nehuwandu hwezvikumbiro zveURL yega yega yenguva yakasarudzwa.
Pamusoro pechidzitiro, tinya bhatani rekuti "Chengetedza" uye tsanangura zita retafura, semuenzaniso maUrls. Ngatidzokerei kuDashboard tione maonero ese akagadzirwa.
Kushanda neDashboard
Paunenge uchigadzira iyo Dashboard, isu tinoisa chete iwo ekutanga maonero ma paramita mune yekuratidzira chinhu marongero. Hapana chikonzero chekutsanangura data yemafirita muzvinhu, semuenzaniso, "date renji", "kusefa nemushandisi", "kusefa nenyika yekukumbira", nezvimwe. Izvo zvakanyanya nyore kutsanangura yaunoda nguva yenguva kana kuseta inodiwa yekusefa mune yemubvunzo pani, iyo iri pamusoro pezvinhu.
Mafirita akawedzerwa mupaneru ino anozoiswa kuDashboard yese, uye zvese zvinoratidzwa zvinhu zvicharongwa patsva zvichienderana neazvino data yakasefa.
mhedziso
Kibana chishandiso chine simba chinokutendera kuti utarise chero data nenzira iri nyore. Ndakaedza kuratidza kuseta kwemhando mbiri huru dzekuratidzira. Asi mamwe marudzi akagadzirirwa nenzira yakafanana. Uye kuwanda kwezvirongwa izvo zvandakasiya kuseri kwezviratidziro zvinokutendera iwe kuti unyatso gadzirisa machati kuti aenderane nezvido zvako.
Source: www.habr.com