Skapa en instrumentpanel i Kibana för att övervaka loggar

Skapa en instrumentpanel i Kibana för att övervaka loggar

Hej, jag heter Eugene, jag är en B2B-teamledare på Citymobil. En av uppgifterna för vårt team är att stödja integrationer för att beställa en taxi från partners, och för att säkerställa en stabil service måste vi alltid förstå vad som händer i våra mikrotjänster. Och för detta måste du ständigt övervaka loggarna.

I Citymobil använder vi ELK-stacken (ElasticSearch, Logstash, Kibana) för att arbeta med loggar, och mängden data som kommer dit är enorm. Det är ganska svårt att hitta problem i den här massan av förfrågningar som kan dyka upp efter utplaceringen av ny kod. Och för deras visuella identifiering har Kibana en Dashboard-sektion.

Det finns en hel del artiklar om Habré med exempel på hur man ställer in en ELK-stack för att ta emot och lagra data, men det finns inget relevant material för att skapa en Dashboard. Därför vill jag visa hur man skapar en visuell representation av data baserat på inkommande loggar i Kibana.

justering

För att göra det tydligare skapade jag en Docker-bild med ELK och Filebeat. Och placeras i en behållare en liten programmet i Go, som för vårt exempel kommer att generera testloggar. Jag kommer inte att beskriva ELKs konfiguration i detalj, det finns tillräckligt mycket skrivet om det på Habré.

Klona konfigurationsförrådet docker-compose och ELK-inställningar och starta den med kommandot docker-compose up. Att inte lägga till en nyckel medvetet -dför att se utvecklingen av ELK-stacken.

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

Om allt är korrekt konfigurerat kommer vi att se en post i loggarna (kanske inte omedelbart, processen att starta en behållare med hela stacken kan ta flera minuter):

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

adress localhost:5061 Kibana borde öppna.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Skapa en instrumentpanel i Kibana för att övervaka loggar
Det enda vi behöver konfigurera är att skapa ett Indexmönster för Kibana med information om vilken data som ska visas. För att göra detta kommer vi att utföra en curl-begäran eller utföra en serie åtgärder i det grafiska gränssnittet.

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

Skapa ett indexmönster via GUI
För att konfigurera, välj avsnittet Upptäck i den vänstra menyn och gå till sidan för att skapa indexmönster.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Genom att klicka på knappen "Skapa indexmönster" kommer vi till sidan för att skapa index. I fältet "Indexmönsternamn" anger du "logstash-*". Om allt är korrekt konfigurerat kommer Kibana nedan att visa de index som faller under regeln.

Skapa en instrumentpanel i Kibana för att övervaka loggar
På nästa sida väljer du nyckelfältet med en tidsstämpel, i vårt fall är det det @timestamp.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Detta kommer att ta upp sidan med indexinställningar, men vi behöver inte göra något mer just nu.

Skapa en instrumentpanel i Kibana för att övervaka loggar

Nu kan vi gå till Discover-sektionen igen, där vi kommer att se loggposterna.

Skapa en instrumentpanel i Kibana för att övervaka loggar

Dashboard

I den vänstra menyn klickar du på avsnittet Skapa instrumentpanel och kommer till motsvarande sida.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Klicka på "Skapa ny instrumentpanel" och gå till sidan för att lägga till objekt till instrumentpanelen.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Klicka på knappen "Skapa ny" så kommer systemet att uppmana dig att välja typ av datavisning. Kibana har ett stort antal av dem, men vi kommer att titta på att skapa en grafisk representation av "Vertical Bar" och en tabellform "Data Table". Andra typer av presentation är konfigurerade på liknande sätt. 
Skapa en instrumentpanel i Kibana för att övervaka loggar
Vissa tillgängliga objekt är märkta B och E, vilket betyder att formatet är experimentellt eller i betatestning. Med tiden kan formatet ändras eller helt försvinna från Kibana.

Vertikal bar

För exemplet "Vertikal stapel", låt oss skapa ett histogram över förhållandet mellan framgångsrika och misslyckade svarsstatusar för vår tjänst. I slutet av inställningarna får vi följande graf:

Skapa en instrumentpanel i Kibana för att övervaka loggar
Vi kommer att klassificera alla förfrågningar med en svarsstatus < 400 som framgångsrika och >= 400 som problematiska.

För att skapa ett "vertikalt stapeldiagram" måste vi välja en datakälla. Välj det indexmönster som vi skapade tidigare.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Som standard visas en enda hel graf efter val av datakälla. Låt oss ställa in det.

Skapa en instrumentpanel i Kibana för att övervaka loggar
I "Buckets"-blocket trycker du på "Lägg till"-knappen, väljer "X-asis" och ställer in X-axeln. Låt oss lägga undan tidsstämplarna för mottagandet av poster i loggen. I fältet "Aggregation", välj "Datumhistogram" och i "Fält" välj "@timestamp", vilket anger tidsfältet. Låt oss lämna "Minsta intervall" i "Auto"-tillståndet, och det kommer automatiskt att anpassa sig till vår skärm. 

Skapa en instrumentpanel i Kibana för att övervaka loggar
Genom att klicka på knappen "Uppdatera" kommer vi att se en graf med antalet förfrågningar var 30:e sekund.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Låt oss nu ställa in kolumnerna längs Y-axeln Nu visar vi det totala antalet förfrågningar i det valda tidsintervallet.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Låt oss ändra värdet "Aggregation" till "Sum Bucket", vilket gör att vi kan kombinera data för framgångsrika och misslyckade förfrågningar. I blocket Bucket -> Aggregation väljer du aggregeringen med "Filters" och ställer in filtreringen med "statusCode >= 400". Och i fältet "Anpassad etikett" anger vi vårt namn på indikatorn för en mer förståelig visning i förklaringen på diagrammet och i den allmänna listan.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Genom att klicka på knappen "Uppdatera" under inställningsblocket får vi en graf med problemförfrågningar.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Om du klickar på cirkeln bredvid förklaringen kommer ett fönster upp där du kan ändra färgen på kolumnerna.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Låt oss nu lägga till data om lyckade förfrågningar i diagrammet. I avsnittet "Mätvärden", klicka på knappen "Lägg till" och välj "Y-axel".

Skapa en instrumentpanel i Kibana för att övervaka loggar
I det skapade måttet gör vi samma inställningar som för felaktiga förfrågningar. Endast i filtret anger vi "statuskod < 400".

Skapa en instrumentpanel i Kibana för att övervaka loggar
Genom att ändra färgen på den nya kolumnen får vi en visning av förhållandet mellan problematiska och framgångsrika förfrågningar.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Genom att klicka på "Spara"-knappen högst upp på skärmen och ange namnet kommer vi att se det första diagrammet på instrumentpanelen.

Skapa en instrumentpanel i Kibana för att övervaka loggar

data~~POS=TRUNC

Tänk nu på tabellvyn "Datatabell". Låt oss skapa en tabell med en lista över alla webbadresser som efterfrågades och antalet förfrågningar. Som i exemplet med vertikal stapel väljer vi först en datakälla.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Därefter kommer en tabell med en kolumn att visas på skärmen, som visar det totala antalet förfrågningar för det valda tidsintervallet.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Vi kommer bara att ändra blocket "Buckets". Klicka på knappen "Lägg till" och välj "Dela rader".

Skapa en instrumentpanel i Kibana för att övervaka loggar
I fältet "Aggregation" väljer du "Villkor". Och i det visade fältet "Fält" välj "url.keyword".

Skapa en instrumentpanel i Kibana för att övervaka loggar
Genom att ange "URL"-värdet i fältet "Anpassad etikett" och klicka på "Uppdatera" får vi den önskade tabellen med antalet förfrågningar för var och en av webbadresserna under den valda tidsperioden.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Högst upp på skärmen klickar du på "Spara"-knappen igen och anger namnet på tabellen, till exempel webbadresser. Låt oss gå tillbaka till instrumentpanelen och se båda vyerna skapade.

Skapa en instrumentpanel i Kibana för att övervaka loggar

Arbeta med Dashboard

När vi skapar instrumentpanelen ställer vi bara in huvudvyns parametrar i visningsobjektinställningarna. Det är meningslöst att ange data för filter i objekt, till exempel "datumintervall", "filtrering av användaragent", "filtrering efter begäransland", etc. Det är mycket bekvämare att ange önskad tidsperiod eller ställa in den nödvändiga filtreringen i frågepanelen, som finns ovanför objekten.

Skapa en instrumentpanel i Kibana för att övervaka loggar
Filtren som läggs till på den här panelen kommer att tillämpas på hela instrumentpanelen, och alla visningsobjekt kommer att byggas om i enlighet med de faktiska filtrerade data.

Slutsats

Kibana är ett kraftfullt verktyg som låter dig visualisera all data på ett bekvämt sätt. Jag försökte visa inställningen för de två huvudtyperna av display. Men andra typer är konfigurerade på liknande sätt. Och det överflöd av inställningar som jag lämnade "bakom kulisserna" kommer att tillåta dig att mycket flexibelt anpassa diagram för att passa dina behov.

Källa: will.com

Lägg en kommentar