Kibana Dashboard létrehozása a naplók figyelésére

Kibana Dashboard létrehozása a naplók figyelésére

Helló, a nevem Jevgenyij, a SitiMobil B2B területének csapatvezetője vagyok. Csapatunk egyik feladata a taxi rendelési integrációk támogatása partnereink részéről, és a stabil szolgáltatás biztosítása érdekében mindig tudnunk kell, mi történik mikroszolgáltatásainkban. Ehhez folyamatosan figyelni kell a naplókat.

A SitiMobilnál az ELK-stacket (ElasticSearch, Logstash, Kibana) használjuk a naplókkal való munkához, és az oda érkező adatok mennyisége hatalmas. Nehéz az új kód telepítése utáni problémákat megtalálni a sok kérdés között. A Kibana Dashboard részében vizuálisan ki lehet emelni ezeket a problémákat.

A Habr-on rengeteg cikk található az ELK-stack beállításáról és az adatok megszerzéséről, de a Dashboard létrehozásáról nem sok aktuális anyag van. Ezért szeretném megmutatni, hogyan lehet vizuális adatmegjelenítést létrehozni Kibana-ban a beérkező naplók alapján.

Beállítás

Hogy könnyebben érthető legyen, létrehoztam egy Docker képet az ELK és Filebeat segítségével. A tartályba egy kis programot írtam Go nyelven, amely a példánkhoz tesztnaplókat generál majd. Az ELK konfigurálásának részletes leírására nem térek ki, a Habr-on erről elegendő információ található.

Klónozzuk a konfigurációs docker-compose és az ELK beállításait, majd indítsuk el a következő parancs segítségével: docker-compose up. Szándékosan nem adom hozzá a -dkulcsot, hogy lássam az ELK-stack működését.

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

Ha minden megfelelően van beállítva, a naplókban látni fogunk egy bejegyzést (lehet, hogy nem azonnal, a konténer indítása a teljes stack-kel néhány percet is igénybe vehet):

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

A címen localhost:5061 a Kibana-nak kell megnyílnia.

Kibana Dashboard létrehozása a naplók figyelésére
Kibana Dashboard létrehozása a naplók figyelésére
Az egyetlen dolog, amit be kell állítanunk, az az Index Pattern létrehozása a Kibana számára, amely megmutatja, milyen adatokat kell megjeleníteni. Ehhez hajtsunk végre egy curl-kérést, vagy végezzünk el néhány lépést a grafikus felületen.

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

Index Pattern létrehozása a grafikus felületen
A beállításhoz válasszuk a bal oldali menüben a Discover szakaszt, és eljutunk az Index pattern létrehozásának oldalára.

Kibana Dashboard létrehozása a naplók figyelésére
A "Create index pattern" gombra kattintva eljutunk az index létrehozásának oldalára. Az "Index pattern name" mezőbe írjuk be a következőt: "logstash-*". Ha minden helyesen van beállítva, alul a Kibana meg fogja mutatni a szabály alá tartozó indexeket.

Kibana Dashboard létrehozása a naplók figyelésére
A következő oldalon válasszuk ki a kulcsmezőt időbélyeggel, a mi esetünkben ez @timestamp.

Kibana Dashboard létrehozása a naplók figyelésére
Ennek eredményeként megjelenik az indexbeállítások oldala, de most tőlünk nem szükséges további lépés.

Kibana Dashboard létrehozása a naplók figyelésére

Most újra átmehetünk a Felfedezés szekcióba, ahol látni fogjuk a naplóbejegyzéseket.

Kibana Dashboard létrehozása a naplók figyelésére

Mérőműsor

A bal menüben kattintson a Mérőműsor létrehozásának szekciójára, és eljutunk a megfelelő oldalra.

Kibana Dashboard létrehozása a naplók figyelésére
Kattintson az „Új mérőműsor létrehozása” gombra, és átkerülünk az objektumok Mérőműsorba történő hozzáadásának oldalára.

Kibana Dashboard létrehozása a naplók figyelésére
Kattintson az „Új létrehozása” gombra, és a rendszer felajánlja a megjelenítési mód kiválasztását. A Kibana számos opciót kínál, de mi most a „Vertikális oszlop” grafikus megjelenítés, illetve a „Tábla” beállítását fogjuk megvizsgálni. A többi megjelenítési mód hasonlóan van beállítva. 
Kibana Dashboard létrehozása a naplók figyelésére
Néhány elérhető objektumnak B és E címkéi vannak — ez azt jelenti, hogy a formátum kísérleti vagy bétatesztelés alatt áll. Idővel a formátum megváltozhat vagy teljesen eltűnhet a Kibana-ból.

Vertikális oszlop

A példa kedvéért a „Vertikális oszlop” beállításával hozzunk létre egy hisztogramot, amely a szolgáltatásunk sikeres és nem sikeres válaszkódjait mutatja. A beállítások befejezése után a következő grafikont kapjuk:

Kibana Dashboard létrehozása a naplók figyelésére
A sikereseket tekintjük minden olyan kérésnek, amelynek válaszkódja < 400, a problémásakat pedig >= 400.

A „Vertikális oszlop” grafikon létrehozásához ki kell választanunk az adatforrást. Válassza ki a korábban létrehozott Index mintát.

Kibana Dashboard létrehozása a naplók figyelésére
Alapértelmezés szerint, miután kiválasztotta az adatforrást, egy tömör grafikon jelenik meg. Állítsuk be ezt.

Kibana Dashboard létrehozása a naplók figyelésére
A „Kellemetlenítők” blokkban kattintson az „Add” gombra, válassza az „X-aksis”-t, és állítsa be az X tengelyt. Az időbélyegek rögzítési időpontjára fogjuk elhelyezni a naplóbejegyzéseket. Az „Aggregáció” mezőben válassza a „Dátum hisztogram” lehetőséget, az „Mező” mezőben pedig válassza az „@timestamp”-t, amely az időmezőre mutat. A „Minimum interval”-t hagyja „Auto” állapotban, így automatikusan alkalmazkodik a megjelenítésünkhöz. 

Kibana Dashboard létrehozása a naplók figyelésére
A „Frissítés” gombra kattintva a kérések számát látjuk 30 másodpercenként.

Kibana Dashboard létrehozása a naplók figyelésére
Most állítsuk be az Y tengely oszlopait. Jelenleg az összes kérés megjelenik a kiválasztott időintervallumban.

Kibana Dashboard létrehozása a naplók figyelésére
Módosítjuk az „Aggregáció” értékét „Összegző korlátra”, amely lehetővé teszi számunkra, hogy összevonjuk a sikeres és nem sikeres kérések adatait. Az „Esettartomány” blokkban -> Aggregáció választottunk az „Szűrők” aggregációt, és a „statusCode >= 400” szűrést adjuk meg. A „Custom label” mezőben megadjuk a mutató nevét a grafikon legendájának és az összesített listának a tisztább megjelenítése érdekében.

Kibana Dashboard létrehozása a naplók figyelésére
A "Frissítés" gombra kattintva a beállítási blokk alatt egy grafikon jelenik meg a problémás lekérdezésekkel.

Kibana Dashboard létrehozása a naplók figyelésére
Ha rákattint a legenda melletti körre, megjelenik egy ablak, amelyben megváltoztathatja az oszlopok színét.

Kibana Dashboard létrehozása a naplók figyelésére
Most hozzáadjuk a grafikonhoz a sikeres lekérdezések adatait. A „Metrikák” részben kattintson az „Hozzáadás” gombra, és válassza a „Y-tengely” lehetőséget.

Kibana Dashboard létrehozása a naplók figyelésére
A létrehozott metrikában ugyanazokat a beállításokat végezzük el, mint a hibás lekérdezések esetében. Csak a szűrőben a „statusCode < 400” értéket adjuk meg.

Kibana Dashboard létrehozása a naplók figyelésére
Az új oszlop színének megváltoztatásával megkapjuk a problémás és a sikeres lekérdezések arányát.

Kibana Dashboard létrehozása a naplók figyelésére
Ha a képernyő tetején rákattintunk a „Mentés” gombra, és megadjuk a nevet, az első grafikonunk megjelenik a Dashboard-on.

Kibana Dashboard létrehozása a naplók figyelésére

Adattábla

Most nézzük meg az „Adattábla” táblázatos megjelenítést. Készítsünk egy táblázatot az összes lekérdezett URL-lel és a lekérdezések számával. Ahogyan a Függőleges Oszlop esetében, első lépésként válasszuk ki az adatforrást.

Kibana Dashboard létrehozása a naplók figyelésére
Ezután a képernyőn megjelenik egy táblázat egy oszloppal, amely a kiválasztott időszak alatt a lekérdezések összegyűjtött számát mutatja.

Kibana Dashboard létrehozása a naplók figyelésére
Csak a „Buckets” blokkot fogjuk módosítani. Kattintson az „Hozzáadás” gombra, és válassza a „Sorok felosztása” lehetőséget.

Kibana Dashboard létrehozása a naplók figyelésére
Az „Összesítés” mezőben válasszuk a „Kifejezések” lehetőséget. A megjelenő „Mező” mezőben válasszuk a „url.keyword” lehetőséget.

Kibana Dashboard létrehozása a naplók figyelésére
Ha a „Egyéni címke” mezőben megadjuk az „Url” értéket, és rákattintunk a „Frissítés” gombra, megkapjuk a kívánt táblázatot, amelyben az egyes URL-ekre vonatkozó lekérdezések száma szerepel a megadott időszakra vonatkozóan.

Kibana Dashboard létrehozása a naplók figyelésére
A képernyő tetején ismét kattintsunk a „Mentés” gombra, és adjuk meg a táblázat nevét, például Urls. Térjünk vissza a Dashboard-ra, és láthatjuk mindkét létrehozott megjelenítést.

Kibana Dashboard létrehozása a naplók figyelésére

Munka a Dashboard-on

A Dashboard létrehozásakor a megjelenítési objektumok beállításaiban csak az alapvető nézetparamétereket állítottuk be. Nincs értelme a szűrőkhöz adatokat megadni, például „dátumtartomány”, „user agent szűrés”, „ország szerinti szűrés” stb. Sokkal kényelmesebb megadni a kívánt időszakot, vagy szükséges szűrést alkalmazni a lekérdezési panelen, amely a megjelenítési objektumok felett található.

Kibana Dashboard létrehozása a naplók figyelésére
Az ezen a panelen hozzáadott szűrők minden Dashboard-ra vonatkoznak, és minden megjelenítési objektum a releváns szűrt adatok szerint fog átalakulni.

Zárás

A Kibana — egy erőteljes eszköz, amely lehetővé teszi, hogy bármilyen adatot kényelmesen vizualizáljunk. Megpróbáltam bemutatni a két alapvető megjelenítési forma beállítását. De más formák beállítása is hasonló módon történik. Azok a beállítási lehetőségek, amelyeket "a háttérben" hagytam, lehetővé teszik, hogy a grafikonokat nagyon rugalmasan alakítsuk a saját igényeid szerint.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster