Kumusta, ang akong ngalan mao si Evgeniy, ako ang nanguna sa B2B team sa Citymobil. Usa sa mga tahas sa among team mao ang pagsuporta sa mga integrasyon alang sa pag-order sa taxi gikan sa mga kauban, ug aron masiguro ang usa ka lig-on nga serbisyo kinahanglan namon kanunay nga masabtan kung unsa ang nahitabo sa among mga microservice. Ug alang niini kinahanglan nimo nga kanunay nga bantayan ang mga troso.
Sa Citymobil, gigamit namo ang ELK stack (ElasticSearch, Logstash, Kibana) aron magtrabaho uban sa mga troso, ug ang gidaghanon sa datos nga nadawat didto dako kaayo. Niini nga daghang mga hangyo, lisud kaayo ang pagpangita sa mga problema nga mahimong makita pagkahuman sa pag-deploy sa bag-ong code. Ug aron klaro nga mailhan sila, ang Kibana adunay seksyon sa Dashboard.
Adunay ubay-ubay nga mga artikulo sa HabrΓ© nga adunay mga panig-ingnan kung giunsa ang pag-set up sa usa ka ELK stack alang sa pagdawat ug pagtipig sa datos, apan walaβy kalabutan nga mga materyal sa paghimo og Dashboard. Busa, gusto nakong ipakita kung unsaon paghimo og biswal nga representasyon sa datos base sa umaabot nga mga log sa Kibana.
kausaban
Aron mas klaro, naghimo ko og Docker nga imahe nga adunay ELK ug Filebeat. Ug gibutang ang usa ka gamay sa usa ka sudlanan
Pag-clone sa repository gamit ang configuration docker-compose
ug mga setting sa ELK, ug ilunsad kini gamit ang sugo docker-compose up
. Wala ko magdugang ug yawe sa tuyo. -d
aron makita ang proseso sa ELK stack.
git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up
Kung ang tanan na-configure sa husto, nan makakita kami usa ka entry sa mga troso (tingali dili dayon, ang proseso sa paglansad sa usa ka sudlanan nga adunay tibuuk nga stack mahimoβg pila ka minuto):
{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}
Pinaagi sa adres localhost:5061
Kinahanglang ablihan ang Kibana.
Ang bugtong butang nga kinahanglan natong i-configure mao ang paghimo og Index Pattern alang sa Kibana nga adunay impormasyon mahitungod sa unsa nga datos ang kinahanglan ipakita. Aron mahimo kini, ipatuman ang usa ka hangyo sa curl o maghimo usa ka serye sa mga aksyon sa 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"}}'
Paghimo Index Pattern pinaagi sa GUI
Aron ma-configure, pilia ang Discover nga seksyon sa wala nga menu ug adto sa panid sa paghimo sa sumbanan sa indeks.
Pinaagi sa pag-klik sa buton nga "Paghimo sa sumbanan sa indeks", gidala kami sa panid sa paghimo sa indeks. Sa field nga "Pangalan sa indeks", isulod ang "logstash-*". Kung ang tanan na-configure sa husto, sa ubos sa Kibana ipakita ang mga indeks nga nahulog sa ilawom sa lagda.
Sa sunod nga panid, pilia ang yawe nga uma nga adunay usa ka timestamp, sa among kaso kini @timestamp
.
Ingon usa ka sangputanan, ang panid sa mga setting sa indeks makita, apan walaβy kinahanglan nga dugang nga mga aksyon gikan kanamo karon.
Karon makabalik na kita sa seksyon sa Discover, diin atong makita ang mga entry sa log.
dashboard
Sa wala nga menu, i-klik ang seksyon sa paghimo sa Dashboard ug adto sa katugbang nga panid.
Pag-klik sa "Paghimo bag-ong dashboard" ug adto sa panid alang sa pagdugang mga butang sa Dashboard.
I-klik ang "Paghimo og bag-o" nga buton, ug ang sistema moaghat kanimo sa pagpili sa matang sa data display. Adunay usa ka dako nga gidaghanon niini sa Kibana, apan atong tan-awon ang paghimo sa usa ka graphical nga representasyon nga "Vertical Bar" ug usa ka tabular nga "Data Table". Ang ubang mga matang sa presentasyon gi-configure sa parehas nga paagi.
Ang ubang magamit nga mga butang gimarkahan og B ug E, nga nagpakita nga ang format kay eksperimento o sa beta. Sa paglabay sa panahon, ang format mahimong mausab o mawala sa hingpit gikan sa Kibana.
Bertikal nga Bar
Para sa pananglitan nga "Vertical Bar", maghimo kita ug histogram sa ratio sa malampuson ug dili malampuson nga mga status sa pagtubag sa atong serbisyo. Human makompleto ang mga setting, atong makuha ang mosunod nga graph:
Atong iklasipikar nga malampuson ang tanan nga mga hangyo nga adunay usa ka kahimtang sa pagtubag <400, ug ingon problema -> = 400.
Aron makahimo og tsart nga "Vertical Bar", kinahanglan kitang mopili og tinubdan sa datos. Pilia ang Index Pattern nga among gibuhat kaniadto.
Sa kasagaran, sa higayon nga mopili ka og tinubdan sa datos, usa ka padayon nga graph ang makita. Ato kining ipahimutang.
Sa block nga "Buckets", i-klik ang "Add" button, pilia ang "X-asis" ug i-configure ang X-axis. Atong iplano ang mga timestamp sa mga rekord nga mosulod sa log subay niini. Sa field nga "Aggregation", pilia ang "Date Histogram", ug sa "Field" pilia ang "@timestamp", nga nagpaila sa usa ka temporaryo nga field. Ibilin nato ang "Minimum interval" sa "Auto" nga estado, ug kini awtomatik nga mag-adjust sa atong display.
Pinaagi sa pag-klik sa "Update" nga buton, atong makita ang usa ka graph nga adunay gidaghanon sa mga hangyo matag 30 segundos.
Karon atong ibutang ang mga kolum sa Y axis. Karon atong ipakita ang kinatibuk-ang gidaghanon sa mga hangyo sa pinili nga agwat sa panahon.
Atong usbon ang "Aggregation" nga kantidad ngadto sa "Sum Bucket", nga magtugot kanato sa paghiusa sa datos gikan sa malampuson ug dili malampuson nga mga hangyo. Sa Bucket -> Aggregation block, pilia ang aggregation pinaagi sa "Filters" ug itakda ang pagsala pinaagi sa "statusCode>= 400". Ug sa field nga "Custom label" among gipakita ang among indicator name para sa mas klaro nga display sa leyenda sa chart ug sa general list.
Pinaagi sa pag-klik sa buton nga "Pag-update" sa ilawom sa bloke sa mga setting, nakakuha kami usa ka graph nga adunay mga problema nga pangutana.
Kung mag-klik ka sa lingin sunod sa alamat, usa ka bintana ang makita diin mahimo nimong usbon ang kolor sa mga kolum.
Karon atong idugang ang datos sa malampuson nga mga hangyo sa tsart. Sa seksyon nga "Metrics", i-klik ang "Add" button ug pilia ang "Y-axis".
Sa gibuhat nga sukatan naghimo kami parehas nga mga setting sama sa mga sayup nga hangyo. Diha lamang sa filter atong gipakita ang "statusCode <400".
Pinaagi sa pagbag-o sa kolor sa bag-ong kolum, nakakuha kami usa ka pagpakita sa ratio sa mga problemado ug malampuson nga mga hangyo.
Pinaagi sa pag-klik sa "Save" nga buton sa ibabaw sa screen ug pagtino sa usa ka ngalan, atong makita ang unang graph sa Dashboard.
Talaan nga Data
Karon atong tan-awon ang βData Tableβ table view. Maghimo kita og usa ka lamesa nga adunay lista sa tanan nga mga URL diin adunay mga hangyo ug ang gidaghanon niini nga mga hangyo. Sama sa panig-ingnan sa Vertical Bar, nagpili una kami usa ka gigikanan sa datos.
Pagkahuman niini, usa ka lamesa nga adunay usa ka kolum ang ipakita sa screen, nga nagpakita sa kinatibuk-ang gidaghanon sa mga hangyo alang sa gipili nga agwat sa oras.
Usbon ra namo ang block nga "Mga Balde". I-klik ang "Add" button ug pilia ang "Split rows".
Sa field nga "Aggregation", pilia ang "Terms". Ug sa field nga "Field" nga makita, pilia ang "url.keyword".
Pinaagi sa pagpiho sa kantidad nga "Url" sa "Custom label" nga uma ug pag-klik sa "Update", makadawat kami sa gitinguha nga lamesa nga adunay gidaghanon sa mga hangyo alang sa matag URL alang sa gipili nga yugto sa panahon.
Sa ibabaw sa screen, i-klik ang "Save" button pag-usab ug ipiho ang ngalan sa lamesa, pananglitan Urls. Balikan nato ang Dashboard ug tan-awon ang duha ka pagtan-aw nga nahimo.
Nagtrabaho uban sa Dashboard
Sa paghimo sa Dashboard, among gibutang ang sukaranan nga mga parameter sa pagtan-aw sa mga setting sa display object. Walaβy punto sa pagtino sa datos alang sa mga pagsala sa mga butang, pananglitan, "hangtod sa petsa", "pagsala sa ahente sa gumagamit", "pagsala sa nasud nga gihangyo", ug uban pa. Mas sayon ββββang pagtino sa gitinguha nga yugto sa panahon o pagtakda sa gikinahanglan nga pagsala sa panel sa pangutana, nga nahimutang sa ibabaw sa mga butang.
Ang mga filter nga idugang niini nga panel i-aplay sa tibuok Dashboard, ug ang tanang display nga mga butang ihan-ay pag-usab sumala sa kasamtangang nasala nga datos.
konklusyon
Ang Kibana usa ka gamhanan nga himan nga nagtugot kanimo sa paghanduraw sa bisan unsang datos sa usa ka kombenyente nga paagi. Gisulayan nako nga ipakita ang setup sa duha ka nag-unang matang sa display. Apan ang ubang mga tipo gi-configure sa parehas nga paagi. Ug ang kadaghan sa mga setting nga akong gibiyaan sa mga talan-awon magtugot kanimo nga dali nga ipasibo ang mga tsart aron mahiangay sa imong mga panginahanglan.
Source: www.habr.com