Hujambo, jina langu ni Eugene, mimi ni kiongozi wa timu ya B2B katika Citymobil. Mojawapo ya kazi za timu yetu ni kuunga mkono miunganisho ya kuagiza teksi kutoka kwa washirika, na ili kuhakikisha huduma thabiti, lazima tuelewe kila wakati kile kinachotokea katika huduma zetu ndogo. Na kwa hili unahitaji kufuatilia daima magogo.
Katika Citymobil, tunatumia rafu ya ELK (ElasticSearch, Logstash, Kibana) kufanya kazi na kumbukumbu, na kiasi cha data kinachokuja huko ni kikubwa. Kupata matatizo katika wingi huu wa maombi ambayo yanaweza kuonekana baada ya kupelekwa kwa msimbo mpya ni vigumu sana. Na kwa utambulisho wao wa kuona, Kibana ana sehemu ya Dashibodi.
Kuna nakala nyingi kuhusu Habre zenye mifano ya jinsi ya kusanidi mrundikano wa ELK ili kupokea na kuhifadhi data, lakini hakuna nyenzo zinazofaa katika kuunda Dashibodi. Kwa hivyo, nataka kuonyesha jinsi ya kuunda uwakilishi wa kuona wa data kulingana na kumbukumbu zinazoingia Kibana.
marekebisho
Ili kuifanya iwe wazi, niliunda picha ya Docker na ELK na Filebeat. Na kuwekwa kwenye chombo kidogo
Funga hazina ya usanidi docker-compose
na mipangilio ya ELK, na uzindue kwa amri docker-compose up
. Kwa kukusudia sio kuongeza ufunguo -d
kuona maendeleo ya safu ya ELK.
git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up
Ikiwa kila kitu kimeundwa kwa usahihi, basi tutaona kuingia kwenye kumbukumbu (labda si mara moja, mchakato wa kuzindua chombo na stack nzima inaweza kuchukua dakika kadhaa):
{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}
Kwa anwani localhost:5061
Kibana afungue.
Kitu pekee tunachohitaji kusanidi ni kuunda Mchoro wa Fahirisi kwa Kibana na taarifa kuhusu data ya kuonyesha. Ili kufanya hivyo, tutafanya ombi la curl au kufanya mfululizo wa vitendo katika kiolesura cha picha.
$ 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"}}'
Kuunda Muundo wa Kielezo kupitia GUI
Ili kusanidi, chagua sehemu ya Gundua kwenye menyu ya kushoto, na ufikie ukurasa wa kuunda muundo wa Index.
Kwa kubofya kitufe cha "Unda muundo wa index", tunafika kwenye ukurasa wa uundaji wa index. Katika uwanja wa "Jina la muundo wa Index", ingiza "logstash-*". Ikiwa kila kitu kimeundwa kwa usahihi, chini ya Kibana itaonyesha indexes zinazoanguka chini ya utawala.
Katika ukurasa unaofuata, chagua uga muhimu na muhuri wa muda, kwa upande wetu ni @timestamp
.
Hii italeta ukurasa wa mipangilio ya faharasa, lakini hakuna hatua zaidi inayohitajika kutoka kwetu kwa wakati huu.
Sasa tunaweza kwenda kwenye sehemu ya Kugundua tena, ambapo tutaona maingizo ya logi.
Dashibodi
Katika menyu ya kushoto, bofya kwenye sehemu ya uundaji wa Dashibodi na ufikie ukurasa unaolingana.
Bofya kwenye "Unda dashibodi mpya" na ufikie kwenye ukurasa wa kuongeza vitu kwenye Dashibodi.
Bofya kwenye kitufe cha "Unda mpya", na mfumo utakuhimiza kuchagua aina ya kuonyesha data. Kibana ina idadi kubwa yao, lakini tutaangalia kuunda uwakilishi wa kielelezo wa "Vertical Bar" na tabular "Jedwali la Data". Aina zingine za uwasilishaji zimesanidiwa kwa njia sawa.
Baadhi ya vitu vinavyopatikana vina lebo B na E, kumaanisha kuwa umbizo ni la majaribio au katika majaribio ya beta. Baada ya muda, umbizo linaweza kubadilika au kutoweka kabisa kutoka kwa Kibana.
Upau Wima
Kwa mfano wa "Upau Wima", hebu tuunde histogramu ya uwiano wa hali za majibu zilizofaulu na ambazo hazijafaulu za huduma yetu. Mwisho wa mipangilio, tunapata grafu ifuatayo:
Tutaainisha maombi yote kwa hali ya majibu <400 kama yamefaulu, na >= 400 kuwa yenye matatizo.
Ili kuunda chati ya "Pau Wima", tunahitaji kuchagua chanzo cha data. Chagua Muundo wa Kielezo ambao tumeunda hapo awali.
Kwa chaguo-msingi, grafu moja thabiti itaonekana baada ya kuchagua chanzo cha data. Hebu tuiweke.
Katika kizuizi cha "Ndoo", bonyeza kitufe cha "Ongeza", chagua "X-asis" na uweke mhimili wa X. Hebu tuweke kando alama za nyakati za maingizo kwenye logi kando yake. Katika sehemu ya "Ujumlisho", chagua "Histogram ya Tarehe", na katika "Sehemu" chagua "@timestamp", ikionyesha sehemu ya saa. Wacha tuache "Kipindi cha chini" katika hali ya "Otomatiki", na itarekebisha kiotomati kwenye onyesho letu.
Kwa kubofya kitufe cha "Sasisha", tutaona grafu yenye idadi ya maombi kila baada ya sekunde 30.
Sasa hebu tuweke safu kando ya mhimili wa Y. Sasa tunaonyesha jumla ya idadi ya maombi katika muda uliochaguliwa.
Hebu tubadilishe thamani ya "Ujumlisho" hadi "Sum Bucket", ambayo itaturuhusu kuchanganya data kwa maombi yaliyofaulu na yasiyofanikiwa. Kwenye Ndoo -> Kizuizi cha Kujumlisha, chagua ujumlisho kwa "Vichujio" na uweke uchujaji kwa "statusCode >= 400". Na katika sehemu ya "Lebo maalum", tunaonyesha jina letu la kiashirio kwa onyesho linaloeleweka zaidi katika hadithi kwenye chati na katika orodha ya jumla.
Kwa kubofya kitufe cha "Sasisha" chini ya kizuizi cha mipangilio, tutapata grafu yenye maombi ya tatizo.
Ikiwa bonyeza kwenye mduara karibu na hadithi, dirisha litatokea ambalo unaweza kubadilisha rangi ya safu.
Sasa hebu tuongeze data juu ya maombi yaliyofaulu kwenye chati. Katika sehemu ya "Metrics", bofya kitufe cha "Ongeza" na uchague "Y-axis".
Katika kipimo kilichoundwa, tunaweka mipangilio sawa na ya maombi yenye makosa. Tu katika kichujio tunabainisha "statusCode <400".
Kwa kubadilisha rangi ya safu mpya, tunapata maonyesho ya uwiano wa maombi yenye matatizo na mafanikio.
Kwa kubofya kitufe cha "Hifadhi" kilicho juu ya skrini na kubainisha jina, tutaona chati ya kwanza kwenye Dashibodi.
Jedwali la Takwimu
Sasa fikiria mtazamo wa jedwali "Jedwali la Takwimu". Wacha tuunde jedwali lenye orodha ya URL zote ambazo ziliombwa na idadi ya maombi hayo. Kama ilivyo kwa mfano wa Upau Wima, kwanza tunachagua chanzo cha data.
Baada ya hapo, meza iliyo na safu moja itaonyeshwa kwenye skrini, ambayo inaonyesha jumla ya idadi ya maombi ya muda uliochaguliwa.
Tutabadilisha tu kizuizi cha "Ndoo". Bonyeza kitufe cha "Ongeza" na uchague "Gawanya safu".
Katika uwanja wa "Aggregation", chagua "Masharti". Na katika uwanja ulioonekana "Shamba" chagua "url.keyword".
Kwa kubainisha thamani ya "Url" katika sehemu ya "Lebo maalum" na kubofya "Sasisha", tutapata jedwali tunalotaka lenye idadi ya maombi kwa kila URL kwa muda uliochaguliwa.
Katika sehemu ya juu ya skrini, bofya kitufe cha "Hifadhi" tena na ubainishe jina la jedwali, kwa mfano Urls. Hebu turejee kwenye Dashibodi na tuone mionekano yote miwili imeundwa.
Kufanya kazi na Dashibodi
Wakati wa kuunda Dashibodi, tunaweka tu vigezo kuu vya mtazamo katika mipangilio ya kitu cha kuonyesha. Haijalishi kubainisha data ya vichungi katika vitu, kwa mfano, "masafa ya tarehe", "kuchuja kwa wakala", "kuchuja kwa nchi ombi", nk. Ni rahisi zaidi kutaja muda unaohitajika au kuweka uchujaji muhimu kwenye paneli ya hoja, ambayo iko juu ya vitu.
Vichujio vilivyoongezwa kwenye paneli hii vitatumika kwenye Dashibodi nzima, na vitu vyote vya kuonyesha vitaundwa upya kwa mujibu wa data halisi iliyochujwa.
Hitimisho
Kibana ni zana yenye nguvu ambayo hukuruhusu kuibua data yoyote kwa njia rahisi. Nilijaribu kuonyesha mpangilio wa aina mbili kuu za onyesho. Lakini aina zingine zimeundwa kwa njia sawa. Na wingi wa mipangilio ambayo niliacha "nyuma ya pazia" itakuruhusu kugeuza chati kukufaa kwa urahisi ili kukidhi mahitaji yako.
Chanzo: mapenzi.com