Креирање контролне табле у Кибани за праћење дневника

Креирање контролне табле у Кибани за праћење дневника

Здраво, моје име је Јуџин, ја сам вођа Б2Б тима у Цитимобилу. Један од задатака нашег тима је подршка интеграцијама за наручивање таксија од партнера, а да бисмо обезбедили стабилну услугу, увек морамо разумети шта се дешава у нашим микросервисима. А за ово морате стално пратити дневнике.

У Цитимобилу користимо ЕЛК стек (ЕластицСеарцх, Логстасх, Кибана) за рад са евиденцијама, а количина података која долази тамо је огромна. Проналажење проблема у овој маси захтева који се могу појавити након примене новог кода је прилично тешко. А за њихову визуелну идентификацију, Кибана има одељак Дасхбоард.

Постоји доста чланака на Хабре-у са примерима како да подесите ЕЛК стек за примање и складиштење података, али нема релевантних материјала о креирању контролне табле. Због тога желим да покажем како да креирам визуелну представу података на основу улазних евиденција у Кибани.

подешавање

Да би било јасније, направио сам Доцкер слику са ЕЛК-ом и Филебеат-ом. И стављен у контејнер мали програм у Го, који ће за наш пример генерисати дневнике тестова. Нећу детаљно описивати конфигурацију ЕЛК-а, о томе је довољно написано на Хабреу.

Клонирајте конфигурациони репозиторијум docker-compose и ЕЛК подешавања и покрените га командом docker-compose up. Намерно не додаје кључ -dда видите напредак ЕЛК стека.

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

Ако је све исправно конфигурисано, видећемо унос у евиденцији (можда не одмах, процес покретања контејнера са целим стеком може потрајати неколико минута):

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

По адреси localhost:5061 Кибана би требало да се отвори.

Креирање контролне табле у Кибани за праћење дневника
Креирање контролне табле у Кибани за праћење дневника
Једина ствар коју треба да конфигуришемо је да креирамо индексни образац за Кибану са информацијама о томе које податке треба приказати. Да бисмо то урадили, извршићемо захтев за цурл или извршити низ радњи у графичком интерфејсу.

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

Креирање индексног узорка преко ГУИ
Да бисте конфигурисали, изаберите одељак Откриј у левом менију и идите на страницу за креирање шаблона индекса.

Креирање контролне табле у Кибани за праћење дневника
Кликом на дугме „Креирај образац индекса“ долазимо до странице за креирање индекса. У поље „Назив узорка индекса“ унесите „логстасх-*“. Ако је све исправно конфигурисано, испод Кибана ће бити приказани индекси који потпадају под правило.

Креирање контролне табле у Кибани за праћење дневника
На следећој страници изаберите кључно поље са временском ознаком, у нашем случају јесте @timestamp.

Креирање контролне табле у Кибани за праћење дневника
Као резултат тога, појавиће се страница са подешавањима индекса, али у овом тренутку не захтевамо даље радње.

Креирање контролне табле у Кибани за праћење дневника

Сада можемо поново да одемо у одељак Откривање, где ћемо видети уносе дневника.

Креирање контролне табле у Кибани за праћење дневника

Kontrolna tabla

У левом менију кликните на одељак Креирање контролне табле и идите на одговарајућу страницу.

Креирање контролне табле у Кибани за праћење дневника
Кликните на „Креирај нову контролну таблу“ и идите на страницу за додавање објеката на контролну таблу.

Креирање контролне табле у Кибани за праћење дневника
Кликните на дугме „Креирај ново“ и систем ће од вас затражити да изаберете тип приказа података. Кибана их има велики број, али ћемо се осврнути на креирање графичког приказа „Вертикалне траке“ и табеларне „Табеле података“. Остале врсте презентација су конфигурисане на сличан начин. 
Креирање контролне табле у Кибани за праћење дневника
Неки доступни објекти су означени са Б и Е, што значи да је формат експериментални или у бета тестирању. Временом се формат може променити или потпуно нестати из Кибана.

Вертикална трака

За пример „Вертикална трака“, хајде да направимо хистограм односа успешног и неуспешног одговора статуса нашег сервиса. На крају подешавања добијамо следећи графикон:

Креирање контролне табле у Кибани за праћење дневника
Све захтеве са статусом одговора < 400 класификоваћемо као успешне, а >= 400 као проблематичне.

Да бисмо направили графикон „Вертикална трака“, морамо да изаберемо извор података. Изаберите образац индекса који смо раније креирали.

Креирање контролне табле у Кибани за праћење дневника
Подразумевано, један чврсти графикон ће се појавити након избора извора података. Хајде да га поставимо.

Креирање контролне табле у Кибани за праћење дневника
У блоку „Буцкетс“ притисните дугме „Додај“, изаберите „Кс-асис“ и подесите осу Кс. Одвојимо временске ознаке за пријем уноса у дневник. У пољу „Аггрегатион“ изаберите „Дате Хистограм“, ау „Фиелд“ изаберите „@тиместамп“, што означава временско поље. Оставимо „Минимални интервал“ у стању „Ауто“, и он ће се аутоматски прилагодити нашем дисплеју. 

Креирање контролне табле у Кибани за праћење дневника
Кликом на дугме „Ажурирај“ видећемо графикон са бројем захтева на сваких 30 секунди.

Креирање контролне табле у Кибани за праћење дневника
Сада поставимо колоне дуж И-осе. Сада приказујемо укупан број захтева у изабраном временском интервалу.

Креирање контролне табле у Кибани за праћење дневника
Хајде да променимо вредност „Аггрегатион“ у „Сум Буцкет“, што ће нам омогућити да комбинујемо податке за успешне и неуспешне захтеве. У блоку Буцкет -> Аггрегатион, изаберите агрегацију према „Филтери“ и подесите филтрирање према „статусЦоде >= 400“. А у пољу "Прилагођена ознака" означавамо наше име индикатора за разумљивији приказ у легенди на графикону и на општој листи.

Креирање контролне табле у Кибани за праћење дневника
Кликом на дугме „Ажурирај“ испод блока подешавања, добићемо графикон са захтевима проблема.

Креирање контролне табле у Кибани за праћење дневника
Ако кликнете на кружић поред легенде, појавиће се прозор у коме можете променити боју колона.

Креирање контролне табле у Кибани за праћење дневника
Сада додајмо податке о успешним захтевима на графикон. У одељку „Метрике“ кликните на дугме „Додај“ и изаберите „И-оса“.

Креирање контролне табле у Кибани за праћење дневника
У креираној метрици вршимо иста подешавања као и за погрешне захтеве. Само у филтеру наводимо "статусЦоде < 400".

Креирање контролне табле у Кибани за праћење дневника
Променом боје нове колоне добијамо приказ односа проблематичних и успешних захтева.

Креирање контролне табле у Кибани за праћење дневника
Кликом на дугме „Сачувај“ на врху екрана и навођењем имена, видећемо први графикон на контролној табли.

Креирање контролне табле у Кибани за праћење дневника

podaci Табела

Сада размотрите табеларни приказ "Табела података". Хајде да направимо табелу са листом свих тражених УРЛ-ова и бројем тих захтева. Као иу примеру вертикалне траке, прво бирамо извор података.

Креирање контролне табле у Кибани за праћење дневника
Након тога, на екрану ће се приказати табела са једном колоном која приказује укупан број захтева за изабрани временски интервал.

Креирање контролне табле у Кибани за праћење дневника
Променићемо само блок "Конфе". Кликните на дугме "Додај" и изаберите "Подели редове".

Креирање контролне табле у Кибани за праћење дневника
У пољу „Агрегација“ изаберите „Услови“. И у пољу "Поље" који се појави изаберите "урл.кеиворд".

Креирање контролне табле у Кибани за праћење дневника
Одређивањем вредности „Урл“ у пољу „Цустом лабел“ и кликом на „Ажурирај“, добићемо жељену табелу са бројем захтева за сваки од УРЛ-ова за изабрани временски период.

Креирање контролне табле у Кибани за праћење дневника
На врху екрана поново кликните на дугме „Сачувај“ и наведите назив табеле, на пример УРЛ адресе. Вратимо се на контролну таблу и видимо креирана оба погледа.

Креирање контролне табле у Кибани за праћење дневника

Рад са контролном таблом

Приликом креирања контролне табле, постављамо само главне параметре приказа у подешавањима објеката приказа. Нема смисла специфицирати податке за филтере у објектима, на пример, „опсег датума“, „филтрирање по корисничком агенту“, „филтрирање по земљи захтева“ итд. Много је згодније одредити жељени временски период или подесити потребно филтрирање у панелу упита, који се налази изнад објеката.

Креирање контролне табле у Кибани за праћење дневника
Филтери додати на овом панелу биће примењени на целу контролну таблу, а сви објекти приказа ће бити поново изграђени у складу са стварним филтрираним подацима.

Закључак

Кибана је моћан алат који вам омогућава да визуализујете све податке на згодан начин. Покушао сам да прикажем подешавања два главна типа екрана. Али други типови су конфигурисани на сличан начин. А обиље подешавања које сам оставио „иза кулиса“ омогућиће вам да врло флексибилно прилагодите графиконе како би одговарали вашим потребама.

Извор: ввв.хабр.цом

Додај коментар