Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове

Здравейте, казвам се Юджийн, аз съм ръководител на B2B екип в Citymobil. Една от задачите на нашия екип е да поддържа интеграции за поръчка на такси от партньори и за да осигурим стабилна услуга, трябва винаги да разбираме какво се случва в нашите микроуслуги. И за това трябва постоянно да наблюдавате дневниците.

В Citymobil използваме стека ELK (ElasticSearch, Logstash, Kibana) за работа с регистрационни файлове и количеството данни, идващи там, е огромно. Намирането на проблеми в тази маса от заявки, които могат да се появят след внедряването на нов код, е доста трудно. А за тяхната визуална идентификация Kibana разполага с раздел Dashboard.

Има доста статии на Habré с примери как да настроите ELK стек за получаване и съхраняване на данни, но няма подходящи материали за създаване на табло за управление. Затова искам да покажа как да създам визуално представяне на данни въз основа на входящи регистрационни файлове в Kibana.

регулиране

За да стане по-ясно, създадох 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 за наблюдение на регистрационни файлове
Единственото нещо, което трябва да конфигурираме, е да създадем Index Pattern за Kibana с информация какви данни да се показват. За да направим това, ще изпълним curl заявка или ще извършим поредица от действия в графичния интерфейс.

$ 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
За да конфигурирате, изберете секцията Discover в лявото меню и отидете на страницата за създаване на Index pattern.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Щраквайки върху бутона „Създаване на модел на индекс“, стигаме до страницата за създаване на индекс. В полето „Име на шаблон на индекс“ въведете „logstash-*“. Ако всичко е конфигурирано правилно, по-долу Kibana ще покаже индексите, които попадат в правилото.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
На следващата страница изберете ключовото поле с клеймо за време, в нашия случай е @timestamp.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Това ще покаже страницата с настройки на индекса, но в момента не са необходими допълнителни действия от наша страна.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове

Сега можем да отидем отново в секцията Discover, където ще видим записите в журнала.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове

Табло

В лявото меню щракнете върху раздела за създаване на табло и отидете на съответната страница.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Кликнете върху „Създаване на ново табло“ и стигнете до страницата за добавяне на обекти към таблото.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Кликнете върху бутона "Създаване на нов" и системата ще ви подкани да изберете вида на показване на данните. Kibana има голям брой от тях, но ние ще разгледаме създаването на графично представяне на "Вертикална лента" и таблична "Таблица с данни". Други видове презентации се конфигурират по подобен начин. 
Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Някои налични обекти са обозначени с B и E, което означава, че форматът е експериментален или в бета тестване. С течение на времето форматът може да се промени или напълно да изчезне от Kibana.

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

За примера с „Вертикална лента“ нека създадем хистограма на съотношението на статусите на успешен и неуспешен отговор на нашата услуга. В края на настройките получаваме следната графика:

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

За да създадем диаграма "Вертикална лента", трябва да изберем източник на данни. Изберете Index Pattern, който създадохме по-рано.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
По подразбиране след избор на източник на данни ще се появи една плътна графика. Нека го настроим.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
В блока "Buckets" натиснете бутона "Add", изберете "X-asis" и настройте оста X. Нека оставим настрана времевите марки за получаване на записи в дневника. В полето „Агрегация“ изберете „Хистограма на дата“, а в полето „Поле“ изберете „@timestamp“, като посочите полето за час. Нека оставим "Минимален интервал" в състояние "Автоматично" и той автоматично ще се настрои към нашия дисплей. 

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Щраквайки върху бутона „Актуализиране“, ще видим графика с броя на заявките на всеки 30 секунди.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Сега нека настроим колоните по оста Y. Сега показваме общия брой заявки в избрания интервал от време.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Нека променим стойността „Агрегиране“ на „Сумарна група“, което ще ни позволи да комбинираме данни за успешни и неуспешни заявки. В блока Bucket -> Aggregation изберете агрегацията чрез „Filters“ и задайте филтрирането чрез „statusCode >= 400“. И в полето "Персонализиран етикет" посочваме името на индикатора за по-разбираемо показване в легендата на графиката и в общия списък.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Като щракнете върху бутона „Актуализиране“ под блока с настройки, ще получим графика със заявки за проблеми.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Ако щракнете върху кръгчето до легендата, ще се появи прозорец, в който можете да промените цвета на колоните.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Сега нека добавим данни за успешни заявки към диаграмата. В секцията „Показатели“ щракнете върху бутона „Добавяне“ и изберете „Y-ос“.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
В създадената метрика правим същите настройки като за грешни заявки. Само във филтъра посочваме "statusCode < 400".

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Променяйки цвета на новата колона, получаваме показване на съотношението на проблемни и успешни заявки.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Като щракнете върху бутона „Запазване“ в горната част на екрана и посочите името, ще видим първата диаграма на таблото за управление.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове

Таблица с данни

Сега разгледайте табличния изглед "Таблица с данни". Нека създадем таблица със списък на всички заявени URL адреси и броя на тези заявки. Както при примера с вертикална лента, първо избираме източник на данни.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
След това на екрана ще се покаже таблица с една колона, която показва общия брой заявки за избрания интервал от време.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Ще променим само блока "Кофи". Щракнете върху бутона „Добавяне“ и изберете „Разделяне на редове“.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
В полето „Агрегиране“ изберете „Условия“. И в появилото се поле "Поле" изберете "url.keyword".

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Посочвайки стойността „Url“ в полето „Персонализиран етикет“ и щраквайки върху „Актуализиране“, ще получим желаната таблица с броя на заявките за всеки от URL адресите за избрания период от време.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
В горната част на екрана щракнете отново върху бутона „Запазване“ и посочете името на таблицата, например Urls. Нека се върнем към таблото за управление и да видим двата създадени изгледа.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове

Работа с таблото за управление

Когато създаваме таблото за управление, задаваме само основните параметри на изгледа в настройките на обекта за показване. Няма смисъл да се указват данни за филтри в обекти, например „диапазон от дати“, „филтриране по потребителски агент“, „филтриране по държава на заявка“ и т.н. Много по-удобно е да посочите желания период от време или да зададете необходимото филтриране в панела за заявки, който се намира над обектите.

Създаване на табло за управление в Kibana за наблюдение на регистрационни файлове
Филтрите, добавени в този панел, ще бъдат приложени към цялото табло за управление и всички обекти на дисплея ще бъдат преустроени в съответствие с действителните филтрирани данни.

Заключение

Kibana е мощен инструмент, който ви позволява да визуализирате всякакви данни по удобен начин. Опитах се да покажа настройката на двата основни вида дисплей. Но други типове са конфигурирани по подобен начин. А изобилието от настройки, които оставих „зад кулисите“, ще ви позволи много гъвкаво да персонализирате диаграмите, за да отговарят на вашите нужди.

Източник: www.habr.com

Добавяне на нов коментар