Creu Dangosfwrdd yn Kibana i Fonitro Logiau

Creu Dangosfwrdd yn Kibana i Fonitro Logiau

Helo, fy enw i yw Eugene, rwy'n arweinydd tîm B2B yn Citymobil. Un o dasgau ein tîm yw cefnogi integreiddiadau ar gyfer archebu tacsi gan bartneriaid, ac er mwyn sicrhau gwasanaeth sefydlog, rhaid inni bob amser ddeall beth sy'n digwydd yn ein microwasanaethau. Ac ar gyfer hyn mae angen i chi fonitro'r logiau yn gyson.

Yn Citymobil, rydym yn defnyddio'r pentwr ELK (ElasticSearch, Logstash, Kibana) i weithio gyda logiau, ac mae swm y data sy'n dod yno yn enfawr. Mae dod o hyd i broblemau yn y llu hwn o geisiadau a all ymddangos ar ôl defnyddio cod newydd yn eithaf anodd. Ac ar gyfer eu hadnabod gweledol, mae gan Kibana adran Dangosfwrdd.

Mae yna dipyn o erthyglau ar Habré gydag enghreifftiau o sut i sefydlu pentwr ELK i dderbyn a storio data, ond nid oes unrhyw ddeunyddiau perthnasol ar greu Dangosfwrdd. Felly, rwyf am ddangos sut i greu cynrychiolaeth weledol o ddata yn seiliedig ar logiau sy'n dod i mewn yn Kibana.

addasiad

Er mwyn ei gwneud yn gliriach, creais ddelwedd Docker gydag ELK a Filebeat. A'i roi mewn cynhwysydd bach y rhaglen yn Go, a fydd, er enghraifft, yn cynhyrchu logiau prawf. Ni fyddaf yn disgrifio'n fanwl gyfluniad ELK, mae digon wedi'i ysgrifennu amdano ar Habré.

Clonio'r ystorfa ffurfweddu docker-compose a gosodiadau ELK, a'i lansio gyda'r gorchymyn docker-compose up. Peidio ag ychwanegu allwedd yn fwriadol -di weld cynnydd y pentwr ELK.

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

Os yw popeth wedi'i ffurfweddu'n gywir, yna fe welwn gofnod yn y logiau (efallai ddim ar unwaith, efallai y bydd y broses o lansio cynhwysydd gyda'r pentwr cyfan yn cymryd sawl munud):

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

Gan y cyfeiriad localhost:5061 Dylai Kibana agor.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Yr unig beth sydd angen i ni ei ffurfweddu yw creu Patrwm Mynegai ar gyfer Kibana gyda gwybodaeth am ba ddata i'w arddangos. I wneud hyn, byddwn yn gweithredu cais cyrl neu'n perfformio cyfres o gamau gweithredu yn y rhyngwyneb graffigol.

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

Creu Patrwm Mynegai trwy'r GUI
I ffurfweddu, dewiswch yr adran Darganfod yn y ddewislen chwith, a chyrraedd y dudalen creu patrwm Mynegai.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Trwy glicio ar y botwm "Creu patrwm mynegai", rydym yn cyrraedd y dudalen creu mynegai. Yn y maes "Enw patrwm mynegai", rhowch "logstash-*". Os yw popeth wedi'i ffurfweddu'n gywir, bydd isod Kibana yn dangos y mynegeion sy'n dod o dan y rheol.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Ar y dudalen nesaf, dewiswch y maes allweddol gyda stamp amser, yn ein hachos ni ydyw @timestamp.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Bydd hyn yn dod â'r dudalen gosodiadau mynegai i fyny, ond nid oes angen unrhyw gamau pellach gennym ni ar hyn o bryd.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau

Nawr gallwn fynd i'r adran Darganfod eto, lle byddwn yn gweld y cofnodion log.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau

dangosfwrdd

Yn y ddewislen chwith, cliciwch ar yr adran creu Dangosfwrdd a chyrraedd y dudalen gyfatebol.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Cliciwch ar "Creu dangosfwrdd newydd" a chyrraedd y dudalen ar gyfer ychwanegu gwrthrychau i'r Dangosfwrdd.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Cliciwch ar y botwm "Creu newydd", a bydd y system yn eich annog i ddewis y math o arddangosiad data. Mae gan Kibana nifer fawr ohonynt, ond byddwn yn edrych ar greu cynrychiolaeth graffigol o'r "Bar Fertigol" a thabl "Tabl Data". Mae mathau eraill o gyflwyniad wedi'u ffurfweddu mewn ffordd debyg. 
Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Mae rhai gwrthrychau sydd ar gael wedi'u labelu B ac E, sy'n golygu bod y fformat yn arbrofol neu mewn profion beta. Dros amser, gall y fformat newid neu ddiflannu'n llwyr o Kibana.

Bar fertigol

Ar gyfer yr enghraifft “Vertical Bar”, gadewch i ni greu histogram o gymhareb statws ymateb llwyddiannus ac aflwyddiannus ein gwasanaeth. Ar ddiwedd y gosodiadau, rydym yn cael y graff canlynol:

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Byddwn yn dosbarthu pob cais gyda statws ymateb < 400 yn llwyddiannus, a >= 400 yn broblemus.

I greu siart "Bar Fertigol", mae angen i ni ddewis ffynhonnell ddata. Dewiswch y Patrwm Mynegai a grëwyd gennym yn gynharach.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Yn ddiofyn, bydd un graff solet yn ymddangos ar ôl dewis ffynhonnell ddata. Gadewch i ni ei sefydlu.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Yn y bloc "Bwcedi", pwyswch y botwm "Ychwanegu", dewiswch "X-asis" a gosodwch yr echel X. Gadewch i ni neilltuo'r stampiau amser ar gyfer derbyn cofnodion yn y log. Yn y maes "Aggregation", dewiswch "Date Histogram", ac yn y "Field" dewiswch "@timestamp", gan nodi'r maes amser. Gadewch i ni adael "Ysbaid Isafswm" yn y cyflwr "Auto", a bydd yn addasu'n awtomatig i'n harddangosfa. 

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Drwy glicio ar y botwm "Diweddaru", byddwn yn gweld graff gyda nifer y ceisiadau bob 30 eiliad.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Nawr, gadewch i ni osod y colofnau ar hyd yr echel Y. Nawr rydym yn dangos cyfanswm nifer y ceisiadau yn y cyfnod amser a ddewiswyd.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Gadewch i ni newid y gwerth "Agregu" i "Sum Bucket", a fydd yn caniatáu inni gyfuno data ar gyfer ceisiadau llwyddiannus ac aflwyddiannus. Yn y bloc Bwced -> Agregu, dewiswch agregu yn ôl "Hidlau" a gosodwch hidlo yn ôl "statusCode>= 400". Ac yn y maes "Custom label", rydym yn nodi ein henw y dangosydd ar gyfer arddangosfa fwy dealladwy yn y chwedl ar y siart ac yn y rhestr gyffredinol.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Trwy glicio ar y botwm “Diweddaru” o dan y bloc gosodiadau, byddwn yn cael graff gyda cheisiadau problemus.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Os cliciwch ar y cylch nesaf at y chwedl, bydd ffenestr yn ymddangos lle gallwch chi newid lliw'r colofnau.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Nawr, gadewch i ni ychwanegu data ar geisiadau llwyddiannus at y siart. Yn yr adran "Metrigau", cliciwch ar y botwm "Ychwanegu" a dewis "Y-echel".

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Yn y metrig a grëwyd, rydym yn gwneud yr un gosodiadau ag ar gyfer ceisiadau gwallus. Dim ond yn yr hidlydd rydym yn nodi "Cod statws < 400".

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Trwy newid lliw y golofn newydd, rydym yn cael arddangosfa o'r gymhareb o geisiadau problemus a llwyddiannus.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Trwy glicio ar y botwm “Cadw” ar frig y sgrin a nodi'r enw, fe welwn y siart cyntaf ar y Dangosfwrdd.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau

Tabl Data

Nawr ystyriwch y tabl "Tabl Data". Gadewch i ni greu tabl gyda rhestr o'r holl URLau y gofynnwyd amdanynt a nifer y ceisiadau hynny. Yn yr un modd â'r enghraifft Bar Fertigol, rydym yn dewis ffynhonnell ddata yn gyntaf.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Ar ôl hynny, bydd tabl gydag un golofn yn cael ei arddangos ar y sgrin, sy'n dangos cyfanswm nifer y ceisiadau am yr egwyl amser a ddewiswyd.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Byddwn ond yn newid y bloc "Bwcedi". Cliciwch ar y botwm "Ychwanegu" a dewis "Rhannu rhesi".

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Yn y maes "Aggregation", dewiswch "Terms". Ac yn y maes a ymddangosodd "Field" dewiswch "url.keyword".

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Trwy nodi'r gwerth "Url" yn y maes "Label Custom" a chlicio "Diweddariad", byddwn yn cael y tabl a ddymunir gyda nifer y ceisiadau am bob un o'r URLau am y cyfnod amser a ddewiswyd.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Ar frig y sgrin, cliciwch ar y botwm "Cadw" eto a nodwch enw'r tabl, er enghraifft Urls. Gadewch i ni fynd yn ôl i'r Dangosfwrdd a gweld y ddwy olwg yn cael eu creu.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau

Gweithio gyda Dangosfwrdd

Wrth greu'r Dangosfwrdd, rydym yn gosod y prif baramedrau golygfa yn unig yn y gosodiadau gwrthrych arddangos. Nid yw'n gwneud unrhyw synnwyr i nodi data ar gyfer hidlwyr mewn gwrthrychau, er enghraifft, “ystod dyddiad”, “hidlo yn ôl asiant defnyddiwr”, “hidlo yn ôl gwlad cais”, ac ati. Mae'n llawer mwy cyfleus nodi'r cyfnod amser a ddymunir neu osod y hidlo angenrheidiol yn y panel ymholiad, sydd wedi'i leoli uwchben y gwrthrychau.

Creu Dangosfwrdd yn Kibana i Fonitro Logiau
Bydd yr hidlwyr a ychwanegir ar y panel hwn yn cael eu cymhwyso i'r Dangosfwrdd cyfan, a bydd yr holl wrthrychau arddangos yn cael eu hailadeiladu yn unol â'r data hidlo gwirioneddol.

Casgliad

Mae Kibana yn offeryn pwerus sy'n eich galluogi i ddelweddu unrhyw ddata mewn ffordd gyfleus. Ceisiais ddangos gosodiad y ddau brif fath o arddangosiad. Ond mae mathau eraill wedi'u ffurfweddu mewn ffordd debyg. A bydd y doreth o osodiadau a adewais “y tu ôl i'r llenni” yn caniatáu ichi addasu siartiau yn hyblyg iawn i weddu i'ch anghenion.

Ffynhonnell: hab.com

Ychwanegu sylw