Создавање контролна табла во Kibana за следење на дневници

Создавање контролна табла во Kibana за следење на дневници

Здраво, јас се викам Јуџин, јас сум B2B тим лидер во Citymobil. Една од задачите на нашиот тим е да поддржува интеграции за нарачување такси од партнери, а за да обезбедиме стабилна услуга, секогаш мора да разбереме што се случува во нашите микросервиси. И за ова треба постојано да ги следите дневниците.

Во Citymobil, го користиме стекот ELK (ElasticSearch, Logstash, Kibana) за да работиме со дневници, а количината на податоци што доаѓаат таму е огромна. Наоѓањето проблеми во оваа маса барања што може да се појават по распоредувањето на новиот код е доста тешко. И за нивна визуелна идентификација, Kibana има дел од Dashboard.

Има неколку написи на Habré со примери за тоа како да се постави стек ELK за примање и складирање податоци, но нема релевантни материјали за креирање на контролната табла. Затоа, сакам да покажам како да креирате визуелна репрезентација на податоци врз основа на дојдовните дневници во Кибана.

прилагодување

За да биде појасно, создадов слика на Docker со ELK и Filebeat. И се става во сад мал програмата во Go, што на нашиот пример ќе генерира тест логови. Нема да ја опишам детално конфигурацијата на ELK, има доволно напишано за тоа на Хабре.

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

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 Кибана треба да се отвори.

Создавање контролна табла во Kibana за следење на дневници
Создавање контролна табла во Kibana за следење на дневници
Единственото нешто што треба да го конфигурираме е да создадеме модел на индекс за Kibana со информации за тоа кои податоци да се прикажат. За да го направите ова, ќе извршиме барање за навивање или ќе извршиме серија дејства во графичкиот интерфејс.

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

Креирање на шема на индекс преку GUI
За да го конфигурирате, изберете го делот Откријте во левото мени и одете до страницата за креирање шема на индекс.

Создавање контролна табла во Kibana за следење на дневници
Со кликнување на копчето „Креирај шема на индекс“, доаѓаме до страницата за создавање индекс. Во полето „Име на шема на индекс“, внесете „logstash-*“. Ако сè е правилно конфигурирано, под Kibana ќе се прикажат индексите што спаѓаат под правилото.

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

Создавање контролна табла во Kibana за следење на дневници
Ова ќе ја отвори страницата за поставки на индексот, но во моментов не се потребни дополнителни дејства од нас.

Создавање контролна табла во Kibana за следење на дневници

Сега можеме повторно да одиме во делот Откријте, каде што ќе ги видиме записите во дневникот.

Создавање контролна табла во Kibana за следење на дневници

Профил

Во левото мени, кликнете на делот за создавање табла и одете на соодветната страница.

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

Создавање контролна табла во Kibana за следење на дневници
Кликнете на копчето „Креирај ново“ и системот ќе ве поттикне да го изберете типот на прикажување на податоците. Кибана има голем број од нив, но ние ќе погледнеме да креираме графички приказ на „Вертикалната лента“ и табеларна „Табела со податоци“. Другите типови на презентација се конфигурирани на сличен начин. 
Создавање контролна табла во Kibana за следење на дневници
Некои достапни објекти се означени како B и E, што значи дека форматот е експериментален или во бета-тестирање. Со текот на времето, форматот може да се промени или целосно да исчезне од Kibana.

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

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

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

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

Создавање контролна табла во Kibana за следење на дневници
Стандардно, по избор на извор на податоци ќе се појави единствен цврст график. Ајде да го поставиме.

Создавање контролна табла во Kibana за следење на дневници
Во блокот „Кофи“, притиснете го копчето „Додај“, изберете „X-asis“ и поставете ја оската X. Да ги оставиме настрана временските ознаки на записите во дневникот долж неа. Во полето „Агрегација“, изберете „Хистограм на датум“, а во „Поле“ изберете „@timestamp“, означувајќи го полето за време. Да го оставиме „Минимум интервал“ во „Автоматски“ состојба и тој автоматски ќе се прилагоди на нашиот екран. 

Создавање контролна табла во Kibana за следење на дневници
Со кликнување на копчето „Ажурирај“, ќе видиме графикон со бројот на барања на секои 30 секунди.

Создавање контролна табла во Kibana за следење на дневници
Сега ајде да ги поставиме колоните долж оската Y. Сега го прикажуваме вкупниот број на барања во избраниот временски интервал.

Создавање контролна табла во Kibana за следење на дневници
Ајде да ја смениме вредноста „Агрегација“ во „Кофа за сума“, што ќе ни овозможи да комбинираме податоци за успешни и неуспешни барања. Во блокот Bucket -> Aggregation, изберете ја збирката по „Филтери“ и поставете го филтрирањето според „statusCode >= 400“. И во полето „Прилагодена етикета“, го означуваме нашето име на индикаторот за поразбирлив приказ во легендата на табелата и во општата листа.

Создавање контролна табла во Kibana за следење на дневници
Со кликнување на копчето „Ажурирај“ под блокот за поставки, ќе добиеме графикон со проблематични барања.

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

Создавање контролна табла во Kibana за следење на дневници
Сега да додадеме податоци за успешни барања на графиконот. Во делот „Метрика“, кликнете на копчето „Додај“ и изберете „Y-оска“.

Создавање контролна табла во Kibana за следење на дневници
Во креираната метрика, ги правиме истите поставки како и за погрешни барања. Само во филтерот наведуваме „statusCode < 400“.

Создавање контролна табла во Kibana за следење на дневници
Со промена на бојата на новата колона, добиваме приказ на односот на проблематични и успешни барања.

Создавање контролна табла во Kibana за следење на дневници
Со кликнување на копчето „Зачувај“ на горниот дел од екранот и наведување на името, ќе ја видиме првата табела на контролната табла.

Создавање контролна табла во Kibana за следење на дневници

Табела со податоци

Сега разгледајте го табеларниот приказ „Табела со податоци“. Ајде да создадеме табела со список на сите барани URL адреси и бројот на тие барања. Како и со примерот со вертикална лента, прво избираме извор на податоци.

Создавање контролна табла во Kibana за следење на дневници
После тоа, на екранот ќе се прикаже табела со една колона, која го прикажува вкупниот број на барања за избраниот временски интервал.

Создавање контролна табла во Kibana за следење на дневници
Ќе го смениме само блокот „Кофи“. Кликнете на копчето „Додај“ и изберете „Сплит редови“.

Создавање контролна табла во Kibana за следење на дневници
Во полето „Агрегација“, изберете „Услови“. И во полето што се појави „Поле“ изберете „url.keyword“.

Создавање контролна табла во Kibana за следење на дневници
Со наведување на вредноста „URL“ во полето „Custom label“ и кликнување на „Update“, ќе ја добиеме саканата табела со бројот на барања за секоја од URL-адресите за избраниот временски период.

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

Создавање контролна табла во Kibana за следење на дневници

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

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

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

Заклучок

Kibana е моќна алатка која ви овозможува да ги визуелизирате сите податоци на пригоден начин. Се обидов да ги прикажам поставките на двата главни типа на дисплеј. Но, другите типови се конфигурирани на сличен начин. И изобилството на поставки што ги оставив „зад сцената“ ќе ви овозможат многу флексибилно да ги приспособувате графиконите за да одговараат на вашите потреби.

Извор: www.habr.com

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