Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen

Moien, mäin Numm ass Eugene, ech sinn e B2B Teamleader bei Citymobil. Eng vun den Aufgaben vun eisem Team ass d'Integratioun z'ënnerstëtzen fir en Taxi vu Partner ze bestellen, a fir e stabile Service ze garantéieren, musse mir ëmmer verstoen wat an eise Mikroservicer geschitt. A fir dëst musst Dir d'Logbicher konstant iwwerwaachen.

Am Citymobil benotze mir den ELK Stack (ElasticSearch, Logstash, Kibana) fir mat Logbicher ze schaffen, an d'Quantitéit un Daten déi dohinner kommen ass enorm. Problemer an dëser Mass vun Ufroen ze fannen, déi no der Installatioun vum neie Code optrieden, ass zimmlech schwéier. A fir hir visuell Identifikatioun huet Kibana eng Dashboard Sektioun.

Et gi zimmlech e puer Artikelen iwwer Habré mat Beispiller wéi een en ELK Stack opstellt fir Daten ze kréien an ze späicheren, awer et gi keng relevant Materialien fir en Dashboard ze kreéieren. Dofir wëll ech weisen wéi eng visuell Representatioun vun Daten baséiert op erakommende Logbicher an Kibana erstellen.

Upassung

Fir et méi kloer ze maachen, hunn ech en Docker-Bild mat ELK a Filebeat erstallt. A plazéiert an engem Container eng kleng um Programm am Go, wat fir eist Beispill Testprotokoller generéiert. Ech wäert net am Detail d'Konfiguratioun vun ELK beschreiwen, et gëtt genuch geschriwwen doriwwer op Habré.

Klon de Configuratiounsrepository docker-compose an ELK Astellungen, a starten et mam Kommando docker-compose up. Absicht net e Schlëssel derbäi -dfir de Fortschrëtt vum ELK Stack ze gesinn.

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

Wann alles richteg konfiguréiert ass, da gesi mir eng Entrée an de Logbicher (vläicht net direkt, de Prozess fir e Container mam ganze Stack ze starten kann e puer Minutten daueren):

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

Vun der Adress localhost:5061 Kibana soll opmaachen.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Dat eenzegt wat mir musse konfiguréieren ass en Indexmuster fir Kibana ze kreéieren mat Informatioun iwwer wéi eng Donnéeën ze weisen. Fir dëst ze maachen, wäerte mir eng Curl Ufro ausféieren oder eng Serie vun Aktiounen an der grafescher Interface ausféieren.

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

En Indexmuster erstellen iwwer de GUI
Fir ze konfiguréieren, wielt d'Entdeckungssektioun am lénksen Menü, a gitt op d'Säit fir Indexmuster ze kreéieren.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Andeems Dir op de Knäppchen "Indexmuster erstellen" klickt, komme mir op d'Säit fir den Index ze kreéieren. Am Feld "Indexmusternumm" gitt "logstash-*". Wann alles richteg konfiguréiert ass, ënner Kibana weist d'Indexen déi ënner der Regel falen.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Op der nächster Säit, wielt de Schlësselfeld mat engem Zäitstempel, an eisem Fall ass et @timestamp.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Dëst bréngt d'Index Astellungssäit op, awer keng weider Handlung ass vun eis am Moment erfuerderlech.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen

Elo kënne mir erëm an d'Entdeckungssektioun goen, wou mir d'Logbicher gesinn.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen

bäi

Am lénksen Menü, klickt op d'Dashboard Kreatioun Sektioun a gitt op déi entspriechend Säit.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Klickt op "Erstellt en neit Dashboard" a gitt op d'Säit fir Objeten op den Dashboard ze addéieren.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Klickt op de Knäppchen "Nei erstellen", an de System freet Iech fir d'Aart vun der Datedisplay ze wielen. Kibana huet eng grouss Unzuel vun hinnen, awer mir wäerte kucken op eng grafesch Representatioun vun der "Vertikal Bar" an eng Tabelle "Daten Table" ze kreéieren. Aner Aarte vu Presentatioun sinn op eng ähnlech Manéier konfiguréiert. 
Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
E puer verfügbar Objete si mam Label B an E bezeechent, dat heescht datt d'Format experimentell oder am Beta-Test ass. Mat der Zäit kann d'Format änneren oder komplett aus Kibana verschwannen.

Vertikal Bar

Fir d'Beispill "Vertikal Bar", loosst eis en Histogramm vum Verhältnis vun erfollegräichen an net erfollegräichen Äntwertstatuse vun eisem Service erstellen. Um Enn vun den Astellunge kréie mir déi folgend Grafik:

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Mir klassifizéieren all Ufroe mat engem Äntwertstatus <400 als erfollegräich, an >= 400 als problematesch.

Fir eng "Vertikal Bar" Diagramm ze kreéieren, musse mir eng Datenquell auswielen. Wielt den Indexmuster dat mir virdru erstallt hunn.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Par défaut gëtt eng eenzeg zolidd Grafik erschéngt nodeems Dir eng Datequell gewielt hutt. Loosst eis et opstellen.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Am Block "Buckets" dréckt op de "Add" Knäppchen, wielt "X-asis" a setzt d'X-Achs op. Loosst eis d'Zäitstempele fir d'Empfang vun den Entréen am Logbuch ofsetzen. Am Feld "Aggregatioun" wielt "Datum Histogram", an am "Feld" wielt "@timestamp", wat d'Zäitfeld ugeet. Loosst eis "Minimum Intervall" am "Auto" Staat loossen, an et passt sech automatesch un eisen Display un. 

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Andeems Dir op de Knäppchen "Update" klickt, gesi mir all 30 Sekonnen eng Grafik mat der Unzuel vun den Ufroen.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Loosst eis elo d'Saile laanscht d'Y-Achs opsetzen. Elo weisen mir d'Gesamtzuel vun den Ufroen am ausgewielten Zäitintervall.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Loosst eis den "Aggregatioun" Wäert op "Sum Bucket" änneren, wat eis erlaabt Daten fir erfollegräich an net erfollegräich Ufroen ze kombinéieren. Am Eemer -> Aggregatiounsblock, wielt d'Aggregatioun duerch "Filteren" a setzt d'Filterung duerch "StatusCode>= 400". An am Feld "Custom Label" weisen mir eisen Numm vum Indikator fir e méi verständleche Display an der Legend op der Grafik an an der allgemenger Lëscht.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Andeems Dir op de Knäppchen "Update" ënner dem Astellungsblock klickt, kréie mir eng Grafik mat Problemufroen.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Wann Dir op de Krees nieft der Legend klickt, erschéngt eng Fënster an där Dir d'Faarf vun de Sailen änneren kënnt.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Loosst eis elo Daten iwwer erfollegräich Ufroen an d'Diagramm addéieren. An der Rubrik "Metrics", klickt op de "Add" Knäppchen a wielt "Y-Achs".

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
An der erstallt Metrik maache mir déiselwecht Astellunge wéi fir falsch Ufroen. Nëmmen am Filter spezifizéiere mir "statusCode <400".

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Andeems Dir d'Faarf vun der neier Kolonn ännert, kréie mir e Display vum Verhältnis vu problemateschen an erfollegräichen Ufroen.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Andeems Dir op de "Späicheren" Knäppchen uewen um Écran klickt an den Numm spezifizéiert, gesi mir déi éischt Diagramm um Dashboard.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen

Donnéeën Table

Betruecht elo d'Tabelle Vue "Daten Dësch". Loosst eis en Dësch erstellen mat enger Lëscht vun all den URLen déi gefrot goufen an d'Zuel vun deenen Ufroen. Wéi mat der Vertikal Bar Beispill, wielt mir als éischt eng Datequell.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Duerno gëtt en Dësch mat enger Kolonn um Bildschierm ugewisen, deen d'Gesamtzuel vun Ufroe fir de gewielten Zäitintervall weist.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Mir wäerten nëmmen de Block "Buckets" änneren. Klickt op de "Add" Knäppchen a wielt "Split Reihen".

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Am Feld "Aggregatioun" wielt "Begrëffer". An am erschéngen Feld "Field" wielt "url.keyword".

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Andeems Dir den "Url" Wäert am Feld "Custom Label" spezifizéiert an op "Update" klickt, kréie mir déi gewënscht Tabell mat der Unzuel vun Ufroe fir jiddereng vun den URLen fir déi gewielte Period.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
Um Top vun der Écran, klickt op de "Späicheren" Knäppchen erëm an uginn den Numm vun der Tabell, zum Beispill URLen. Loosst eis zréck op den Dashboard goen a béid Vue erstallt gesinn.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen

Schafft mat Dashboard

Wann Dir den Dashboard erstellt, setze mir nëmmen d'Haaptvisiounsparameter an den Displayobjekt Astellunge fest. Et mécht kee Sënn Daten fir Filteren an Objekter ze spezifizéieren, zum Beispill "Datumbereich", "Filteren duerch Useragent", "Filteren no Ufroland", asw. Et ass vill méi bequem fir déi gewënscht Zäitperiod ze spezifizéieren oder déi néideg Filteren an der Ufro Panel ze setzen, déi iwwer den Objeten läit.

Erstellt en Dashboard zu Kibana fir Logbicher ze iwwerwaachen
D'Filtere, déi op dësem Panel bäigefüügt ginn, ginn op de ganzen Dashboard applizéiert, an all Displayobjekter ginn am Aklang mat den aktuellen gefilterten Donnéeën nei opgebaut.

Konklusioun

Kibana ass e mächtegt Tool dat Iech erlaabt all Daten op eng praktesch Manéier ze visualiséieren. Ech hu probéiert d'Astellung vun den zwou Haaptarten vum Display ze weisen. Awer aner Zorte sinn op eng ähnlech Manéier konfiguréiert. An den Iwwerfloss vun Astellungen, déi ech "hannert de Kulissen" hannerlooss hunn, erlaabt Iech ganz flexibel Charts ze personaliséieren fir Är Besoinen ze passen.

Source: will.com

Setzt e Commentaire