Kaixo, nire izena Evgeniy da, Citymobil-en B2B taldeko burua naiz. Gure taldearen zereginetako bat bazkideei taxi-eskaerak egiteko integrazioak laguntzea da, eta zerbitzu egonkorra bermatzeko beti ulertu behar dugu gure mikrozerbitzuetan gertatzen dena. Eta horretarako erregistroak etengabe kontrolatu behar dituzu.
Citymobil-en ELK pila erabiltzen dugu (ElasticSearch, Logstash, Kibana) erregistroekin lan egiteko, eta bertan jasotako datuen bolumena izugarria da. Eskaera-masa honetan, nahiko zaila da kode berria zabaldu ondoren ager daitezkeen arazoak aurkitzea. Eta horiek argi eta garbi identifikatzeko, Kibanak Arbel atal bat dauka.
HabrΓ©-ri buruzko artikulu dezente daude datuak jasotzeko eta gordetzeko ELK pila bat konfiguratzeko adibideekin, baina ez dago Arbel bat sortzeko material garrantzitsurik. Hori dela eta, Kibana-n sarrerako erregistroetan oinarritutako datuen irudikapen bisual bat nola sortu erakutsi nahi dut.
doikuntza
Argiago geratzeko, Docker irudi bat sortu nuen ELK eta Filebeat-ekin. Eta txiki bat jarri ontzi batean
Biltegia klonatzea konfigurazioarekin docker-compose
eta ELK ezarpenak, eta abiarazi komandoarekin docker-compose up
. Ez dut nahita gakorik gehitzen. -d
ELK pilaren prozesua ikusteko.
git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up
Dena behar bezala konfiguratuta badago, sarrera bat ikusiko dugu erregistroetan (agian ez berehala, pila osoa duen edukiontzi bat abiarazteko prozesuak minutu batzuk iraun ditzake):
{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}
Helbidearen arabera localhost:5061
Kibana ireki behar da.
Konfiguratu behar dugun gauza bakarra Kibanarako Indize Eredu bat sortzea da, zer datu bistaratu behar diren jakiteko. Horretarako, exekuta ditzagun kizkur eskaera bat edo egin ditzagun ekintza sorta interfaze grafikoan.
$ 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"}}'
Indize eredua GUI bidez sortzea
Konfiguratzeko, hautatu Ezker atala ezkerreko menuan eta joan Indize eredua sortzeko orrira.
"Sortu indize eredua" botoian klik eginez, indizea sortzeko orrira eramaten gaituzte. "Indize ereduaren izena" eremuan, idatzi "logstash-*". Dena behar bezala konfiguratuta badago, Kibanak azpian arauaren menpe dauden indizeak erakutsiko ditu.
Hurrengo orrian, hautatu denbora-zigilua duen gako-eremua, gure kasuan hala da @timestamp
.
Ondorioz, indizearen ezarpenen orria agertuko da, baina orain ez dugu ekintza gehigarririk behar.
Orain Ezagutu atalera itzuli gaitezke, non erregistro-sarrerak ikusiko ditugu.
arbela
Ezkerreko menuan, egin klik Arbelaren sorrera atalean eta joan dagokion orrialdera.
Egin klik "Sortu panel berria" eta joan Arbelean objektuak gehitzeko orrialdera.
Egin klik "Sortu berria" botoian, eta sistemak datu bistaratzeko mota hautatzeko eskatuko dizu. Kibanan asko daude, baina βBarra bertikalaβ eta βDatu Taulaβ taularatuko irudikapen grafikoa sortzea aztertuko dugu. Beste aurkezpen mota batzuk antzera konfiguratzen dira.
Eskuragarri dauden elementu batzuk B eta E etiketatuta daude, formatua esperimentala edo beta-a dela adieraziz. Denborarekin, formatua aldatu edo erabat desager daiteke Kibanatik.
Barra bertikala
"Barra bertikala" adibiderako, sor dezagun gure zerbitzuaren erantzun arrakastatsuen eta arrakastatsuen egoeraren ratioaren histograma. Ezarpenak osatu ondoren, grafiko hau lortuko dugu:
Arrakasta gisa sailkatuko ditugu erantzun-egoera < 400 duten eskaera guztiak, eta problematiko gisa - >= 400.
"Barra bertikala" grafiko bat sortzeko, datu-iturburu bat hautatu behar dugu. Hautatu lehenago sortu dugun Indize eredua.
Lehenespenez, datu-iturburu bat hautatu ondoren, grafiko jarraitu bat agertuko da. Konfigura dezagun.
"Buckets" blokean, egin klik "Gehitu" botoian, hautatu "X-asis" eta konfiguratu X ardatza. Marraz ditzagun erregistroan sartzen diren erregistroen denbora-zigiluak. "Agregazioa" eremuan, hautatu "Data histograma" eta "Eremuan" hautatu "@timestamp", aldi baterako eremu bat adieraziz. Utz dezagun "Gutxieneko tartea" "Automatiko" egoeran, eta automatikoki egokituko da gure pantailara.
βEguneratuβ botoian klik eginez gero, grafiko bat ikusiko dugu 30 segundoro eskaera kopuruarekin.
Orain konfigura ditzagun zutabeak Y ardatzean. Orain hautatutako denbora-tartean dauden eskaera kopurua bistaratzen dugu.
Alda dezagun "Aggregation" balioa "Sum Bucket"-ra, eta horrek eskaera arrakastatsuen eta arrakastatsuen datuak konbinatzeko aukera emango digu. Bucket -> Agregazioa blokean, hautatu agregazioa "Iragazkiak" eta ezarri iragazketa "statusCode >= 400" arabera. Eta "Etiketa pertsonalizatua" eremuan gure adierazlearen izena adierazten dugu grafikoko legendan eta zerrenda orokorrean bistaratzeko argiago ikusteko.
Ezarpenen blokearen azpian dagoen "Eguneratu" botoian klik eginez gero, kontsulta arazotsuak dituen grafiko bat jasoko dugu.
Kondairaren ondoko zirkuluan klik egiten baduzu, leiho bat agertuko da eta bertan zutabeen kolorea alda dezakezu.
Orain gehi ditzagun eskaera arrakastatsuei buruzko datuak taulara. "Metrikoak" atalean, egin klik "Gehitu" botoian eta hautatu "Y ardatza".
Sortutako metrikan eskaera okerren ezarpen berdinak egiten ditugu. Iragazkian bakarrik adieraziko dugu "statusCode < 400".
Zutabe berriaren kolorea aldatuz gero, eskaera arazotsuen eta arrakastatsuen proportzioa bistaratzen dugu.
Pantailaren goialdean dagoen "Gorde" botoian klik eginez eta izen bat zehaztuz, Arbelean lehen grafikoa ikusiko dugu.
Datuen taula
Ikus dezagun orain "Datu taula" taularen ikuspegia. Sortu dezagun taula bat, eskaerak izan ziren URL guztien zerrendarekin eta eskaera horien kopuruarekin. Barra bertikaleko adibidean bezala, lehenik eta behin datu-iturburu bat hautatzen dugu.
Horren ostean, zutabe bakarreko taula bat bistaratuko da pantailan, hautatutako denbora tarterako eskaera-kopuru osoa erakusten duena.
"Buckets" blokea bakarrik aldatuko dugu. Egin klik "Gehitu" botoian eta hautatu "Zatitu errenkadak".
"Agregazioa" eremuan, hautatu "Baldintzak". Eta agertzen den "Eremua" eremuan, hautatu "url.keyword".
"Etiketa pertsonalizatua" eremuan "Url" balioa zehaztuz eta "Eguneratu" sakatuz, nahi duzun taula jasoko dugu hautatutako denbora-tarterako URL bakoitzeko eskaera kopuruarekin.
Pantailaren goialdean, egin klik berriro "Gorde" botoian eta zehaztu taularen izena, adibidez, Url-ak. Itzuli Arbelera eta ikus ditzagun sortutako bi ikuspegiak.
Dashboard-ekin lan egitea
Arbela sortzean, bistaratze-objektuaren ezarpenetan oinarrizko ikuspegi-parametroak soilik ezartzen ditugu. Ez du balio objektuetako iragazkien datuak zehazteak, adibidez, "data-tartea", "erabiltzaile-agentearen arabera iragaztea", "eskaera herrialdearen arabera iragaztea", etab. Askoz erosoagoa da nahi den denbora-tartea zehaztea edo beharrezko iragazkia ezartzea objektuen gainean dagoen kontsulta-panelean.
Panel honetan gehitutako iragazkiak Arbel osoan aplikatuko dira, eta bistaratzeko objektu guztiak uneko iragazitako datuen arabera berrantolatuko dira.
Ondorioa
Kibana tresna indartsua da, edozein datu modu erosoan ikusteko aukera ematen duena. Bi pantaila mota nagusien konfigurazioa erakusten saiatu nintzen. Baina beste mota batzuk antzera konfiguratzen dira. Eta eszena atzean utzi ditudan ezarpen ugariak diagramak oso malgutasunez pertsonalizatzeko aukera emango dizu zure beharretara egokitzeko.
Iturria: www.habr.com