In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen

Hallo, myn namme is Eugene, ik bin in B2B-teamlieder by Citymobil. Ien fan 'e taken fan ús team is om yntegraasjes te stypjen foar taksybestelling fan partners, en om in stabile tsjinst te garandearjen moatte wy altyd begripe wat der bart yn ús mikrotsjinsten. En hjirfoar moatte jo de logs konstant kontrolearje.

By Citymobil brûke wy de ELK-stapel (ElasticSearch, Logstash, Kibana) om te wurkjen mei logs, en it folume fan gegevens ûntfongen is enoarm. Yn dizze massa oanfragen is it frij lestich om problemen te finen dy't miskien ferskine nei de ynset fan nije koade. En foar har fisuele identifikaasje hat Kibana in Dashboard-seksje.

D'r binne nochal wat artikels oer Habré mei foarbylden fan hoe't jo in ELK-stapel ynstelle kinne foar it ûntfangen en opslaan fan gegevens, mar d'r binne gjin relevante materialen oer it meitsjen fan in Dashboard. Dêrom wol ik sjen litte hoe't jo in fisuele fertsjintwurdiging fan gegevens meitsje kinne op basis fan ynkommende logs yn Kibana.

oanpassing

Om it dúdliker te meitsjen, haw ik in Docker-ôfbylding makke mei ELK en Filebeat. En pleatst yn in kontener in lyts it programma yn Go, dy't foar ús foarbyld testlogs sil generearje. Ik sil de konfiguraasje fan ELK net yn detail beskriuwe; hjir is genôch oer skreaun op Habré.

Kloon de konfiguraasje repository docker-compose en ELK-ynstellingen, en starte it mei it kommando docker-compose up. Mei opsetsin gjin kaai tafoegje -dom de fuortgong fan 'e ELK-stapel te sjen.

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

As alles goed is konfigureare, sille wy in yngong sjen yn 'e logs (miskien net fuortendaliks, it proses fan it lansearjen fan in kontener mei de heule stapel kin ferskate minuten duorje):

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

By it adres localhost:5061 Kibana moat iepen.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
It iennichste dat wy moatte konfigurearje is om in yndekspatroan foar Kibana te meitsjen mei ynformaasje oer hokker gegevens moatte wurde werjûn. Om dit te dwaan, litte wy in krulfersyk útfiere of in searje aksjes dwaan yn 'e grafyske ynterface.

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

In yndekspatroan oanmeitsje fia de GUI
Om te konfigurearjen, selektearje de seksje Discover yn it linkermenu en gean nei de side foar oanmeitsjen fan yndekspatroanen.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Troch op de knop "Yndekspatroan oanmeitsje" te klikken, komme wy nei de side oanmeitsjen fan yndeks. Fier "logstash-*" yn it fjild "Indeksmusternamme" yn. As alles goed is ynsteld, sil Kibana hjirûnder de yndeksen sjen litte dy't ûnder de regel falle.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Selektearje op 'e folgjende side it kaaifjild mei in tiidstempel, yn ús gefal is it @timestamp.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
As gefolch sil de yndeksynstellingsside ferskine, mar no binne gjin ekstra aksjes fan ús nedich.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen

No kinne wy ​​​​wer nei de seksje Discover gean, wêr't wy de yngongen yn it log sille sjen.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen

dashboard

Klikje yn it linkermenu op 'e seksje oanmeitsjen fan Dashboard en gean nei de oerienkommende side.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Klikje op "Nije dashboard oanmeitsje" en gean nei de side foar it tafoegjen fan objekten oan it Dashboard.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Klikje op de knop "Nije oanmeitsje", en it systeem sil jo freegje om it type gegevenswerjefte te selektearjen. Der binne in grut oantal fan harren yn Kibana, mar wy sille sjen op it meitsjen fan in grafyske foarstelling "Vertical Bar" en in tabel "Data Table". Oare soarten presintaasje wurde op in fergelykbere manier konfigureare. 
In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Guon beskikbere items wurde markearre B en E, wat oanjout dat it formaat eksperiminteel of yn beta is. Mei de tiid kin it formaat feroarje of folslein ferdwine fan Kibana.

Fertikale Bar

Foar it foarbyld "Vertical Bar" litte wy in histogram meitsje fan 'e ferhâlding fan suksesfolle en net-suksesfolle antwurdstatussen fan ús tsjinst. Oan 'e ein fan' e ynstellings krije wy de folgjende grafyk:

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Wy sille alle oanfragen mei in antwurdstatus <400 as suksesfol klassifisearje, en >= 400 as problematysk.

Om in diagram "fertikale bar" te meitsjen, moatte wy in gegevensboarne selektearje. Selektearje it yndekspatroan dat wy earder makke hawwe.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Standert, as jo ienris in gegevensboarne selektearje, sil ien trochgeande grafyk ferskine. Litte wy it ynstelle.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Klikje yn it blok "Buckets" op de knop "Taheakje", selektearje "X-asis" en konfigurearje de X-as. Litte wy de tiidstempels fan records dy't it loch ynfiere lâns plotje. Selektearje yn it fjild "Aggregaasje" "Datumhistogram", en yn it "fjild" selektearje "@timestamp", wat in tydlik fjild oanjout. Litte wy "Minimum ynterval" yn 'e "Auto" steat litte, en it sil automatysk oanpasse oan ús werjefte. 

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Troch op de knop "Bywurkje" te klikken, sille wy elke 30 sekonden in grafyk sjen mei it oantal oanfragen.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Litte wy no de kolommen op de Y-as ynstelle. No litte wy it totale oantal oanfragen sjen yn it selektearre tiidynterval.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Litte wy de "Aggregaasje" wearde feroarje yn "Sum Bucket", wêrtroch wy gegevens kinne kombinearje fan suksesfolle en net suksesfolle oanfragen. Selektearje yn it Bucket -> Aggregaasjeblok aggregaasje troch "Filters" en set filtering yn troch "statusCode>= 400". En yn it fjild "Aanpaste label" jouwe wy ús yndikatornamme oan foar in dúdliker werjefte yn 'e leginde op' e kaart en yn 'e algemiene list.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Troch op de knop "Bywurkje" ûnder it ynstellingsblok te klikken, krije wy in grafyk mei problematyske fragen.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
As jo ​​op de sirkel njonken de leginde klikke, sil in finster ferskine wêryn jo de kleur fan de kolommen feroarje kinne.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Litte wy no gegevens tafoegje oer suksesfolle oanfragen oan it diagram. Klikje yn 'e seksje "Metriken" op de knop "Tafoegje" en selektearje "Y-as".

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Yn 'e makke metrik meitsje wy deselde ynstellings as foar ferkearde oanfragen. Allinnich yn it filter spesifisearje wy "statusCode <400".

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Troch de kleur fan 'e nije kolom te feroarjen, krije wy in werjefte fan it ferhâlding fan problematyske en suksesfolle oanfragen.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Troch op de knop "Bewarje" oan 'e boppekant fan it skerm te klikken en in namme op te jaan, sille wy de earste grafyk sjen op it Dashboard.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen

Datatabel

Litte wy no sjen nei de tabelwerjefte "Data Tabel". Litte wy in tabel meitsje mei in list fan alle URL's dêr't oanfragen nei wiene en it oantal fan dizze oanfragen. Lykas yn it foarbyld fan fertikale balk selektearje wy earst in gegevensboarne.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Hjirnei sil in tabel mei ien kolom op it skerm werjûn wurde, dat it totale oantal oanfragen foar it selektearre tiidynterval toant.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Wy sille allinich it blok "Buckets" feroarje. Klikje op de knop "Tafoegje" en selektearje "Rien splitsen".

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Selektearje yn it fjild "Aggregaasje" "Betingsten". En yn it ferskynde fjild "Field" selektearje "url.keyword".

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Troch de wearde "Url" oan te jaan yn it fjild "Aanpaste label" en op "Bywurkje" te klikken, krije wy de winske tabel mei it oantal oanfragen foar elke URL foar de selektearre perioade.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Klikje boppe op it skerm op 'e knop "Bewarje" en spesifisearje de namme fan 'e tabel, bygelyks URL's. Litte wy weromgean nei it Dashboard en sjoch beide werjeften makke.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen

Wurkje mei Dashboard

By it oanmeitsjen fan it Dashboard sette wy allinich de basiswerjefteparameters yn yn 'e werjefteobjektynstellingen. D'r hat gjin punt om gegevens foar filters yn objekten op te jaan, bygelyks "datumberik", "filtering troch brûkersagent", "filtering op lân fan fersyk", ensfh. It is folle handiger om de winske tiidperioade op te jaan of de nedige filtering yn te stellen yn it querypaniel, dat boppe de objekten leit.

In Dashboard oanmeitsje yn Kibana om logs te kontrolearjen
Filters tafoege yn dit paniel sille tapast wurde op it hiele Dashboard, en alle werjefteobjekten wurde opnij ynrjochte neffens de aktuele filtere gegevens.

konklúzje

Kibana is in krêftich ark wêrmei jo alle gegevens op in handige manier kinne visualisearje. Ik besocht de ynstelling fan 'e twa haadtypen werjaan te sjen. Mar oare soarten binne konfigurearre op in fergelykbere wize. En de oerfloed fan ynstellingen dy't ik efter de skermen liet litte jo de charts heul fleksibel oanpasse oan jo behoeften.

Boarne: www.habr.com

Add a comment