Opprette et dashbord i Kibana for å overvåke logger

Opprette et dashbord i Kibana for å overvåke logger

Hei, jeg heter Eugene, jeg er B2B-teamleder hos Citymobil. En av oppgavene til teamet vårt er å støtte integrasjoner for bestilling av taxi fra partnere, og for å sikre en stabil tjeneste må vi alltid forstå hva som skjer i våre mikrotjenester. Og for dette må du hele tiden overvåke loggene.

I Citymobil bruker vi ELK-stakken (ElasticSearch, Logstash, Kibana) for å jobbe med logger, og mengden data som kommer dit er enorm. Det er ganske vanskelig å finne problemer i denne massen av forespørsler som kan dukke opp etter distribusjon av ny kode. Og for deres visuelle identifikasjon har Kibana en Dashboard-seksjon.

Det er ganske mange artikler om Habré med eksempler på hvordan man setter opp en ELK-stack for å motta og lagre data, men det er ikke noe relevant materiale for å lage et Dashboard. Derfor ønsker jeg å vise hvordan man lager en visuell representasjon av data basert på innkommende logger i Kibana.

justering

For å gjøre det klarere laget jeg et Docker-bilde med ELK og Filebeat. Og plassert i en beholder en liten programmet i Go, som for vårt eksempel vil generere testlogger. Jeg vil ikke beskrive i detalj konfigurasjonen til ELK, det er skrevet nok om det på Habré.

Klon konfigurasjonslageret docker-compose og ELK-innstillinger, og start den med kommandoen docker-compose up. Med vilje ikke legge til en nøkkel -dfor å se fremdriften til ELK-stakken.

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

Hvis alt er konfigurert riktig, vil vi se en oppføring i loggene (kanskje ikke umiddelbart, prosessen med å starte en beholder med hele stabelen kan ta flere minutter):

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

adresse localhost:5061 Kibana bør åpne.

Opprette et dashbord i Kibana for å overvåke logger
Opprette et dashbord i Kibana for å overvåke logger
Det eneste vi trenger å konfigurere er å lage et indeksmønster for Kibana med informasjon om hvilke data som skal vises. For å gjøre dette, vil vi utføre en krølleforespørsel eller utføre en rekke handlinger i det grafiske grensesnittet.

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

Opprette et indeksmønster via GUI
For å konfigurere, velg Discover-delen i venstremenyen, og gå til siden for opprettelse av indeksmønster.

Opprette et dashbord i Kibana for å overvåke logger
Ved å klikke på "Opprett indeksmønster"-knappen kommer vi til siden for indeksoppretting. I feltet "Indeksmønsternavn" skriver du inn "logstash-*". Hvis alt er riktig konfigurert, vil Kibana nedenfor vise indeksene som faller inn under regelen.

Opprette et dashbord i Kibana for å overvåke logger
På neste side velger du nøkkelfeltet med et tidsstempel, i vårt tilfelle er det det @timestamp.

Opprette et dashbord i Kibana for å overvåke logger
Dette vil få opp siden for indeksinnstillinger, men det kreves ingen ytterligere handling fra oss for øyeblikket.

Opprette et dashbord i Kibana for å overvåke logger

Nå kan vi gå til Discover-delen igjen, hvor vi vil se loggoppføringene.

Opprette et dashbord i Kibana for å overvåke logger

Dashbord

I menyen til venstre klikker du på Dashboard-seksjonen og kommer til den tilsvarende siden.

Opprette et dashbord i Kibana for å overvåke logger
Klikk på "Opprett nytt dashbord" og gå til siden for å legge til objekter til dashbordet.

Opprette et dashbord i Kibana for å overvåke logger
Klikk på "Opprett ny"-knappen, og systemet vil be deg om å velge type datavisning. Kibana har et stort antall av dem, men vi skal se på å lage en grafisk representasjon av "Vertical Bar" og en tabellform "Data Table". Andre typer presentasjoner er konfigurert på lignende måte. 
Opprette et dashbord i Kibana for å overvåke logger
Noen tilgjengelige objekter er merket med B og E, noe som betyr at formatet er eksperimentelt eller i betatesting. Over tid kan formatet endres eller helt forsvinne fra Kibana.

Vertikal stang

For eksempelet "Vertikal søyle", la oss lage et histogram over forholdet mellom vellykkede og mislykkede svarstatuser for tjenesten vår. På slutten av innstillingene får vi følgende graf:

Opprette et dashbord i Kibana for å overvåke logger
Vi vil klassifisere alle forespørsler med en svarstatus < 400 som vellykkede, og >= 400 som problematiske.

For å lage et "vertikalt søylediagram" må vi velge en datakilde. Velg indeksmønsteret som vi laget tidligere.

Opprette et dashbord i Kibana for å overvåke logger
Som standard vil en enkelt solid graf vises etter at du har valgt en datakilde. La oss sette det opp.

Opprette et dashbord i Kibana for å overvåke logger
I blokken «Bøtter» trykker du på «Legg til»-knappen, velger «X-asis» og setter opp X-aksen. La oss sette til side tidsstemplene for mottak av oppføringer i loggen. I "Aggregering"-feltet velger du "Datohistogram", og i "Felt" velger du "@timestamp", som indikerer tidsfeltet. La oss la "Minimumsintervall" være i "Auto"-tilstanden, og den vil automatisk justere til displayet vårt. 

Opprette et dashbord i Kibana for å overvåke logger
Ved å klikke på "Oppdater"-knappen vil vi se en graf med antall forespørsler hvert 30. sekund.

Opprette et dashbord i Kibana for å overvåke logger
La oss nå sette opp kolonnene langs Y-aksen Nå viser vi det totale antallet forespørsler i det valgte tidsintervallet.

Opprette et dashbord i Kibana for å overvåke logger
La oss endre "Aggregering"-verdien til "Sum Bucket", som lar oss kombinere data for vellykkede og mislykkede forespørsler. I Bucket -> Aggregation-blokken velger du aggregeringen ved "Filters" og setter filtreringen etter "statusCode >= 400". Og i feltet "Egendefinert etikett" angir vi navnet på indikatoren for en mer forståelig visning i forklaringen på diagrammet og i den generelle listen.

Opprette et dashbord i Kibana for å overvåke logger
Ved å klikke på "Oppdater"-knappen under innstillingsblokken får vi opp en graf med problemforespørsler.

Opprette et dashbord i Kibana for å overvåke logger
Hvis du klikker på sirkelen ved siden av forklaringen, vises et vindu der du kan endre fargen på kolonnene.

Opprette et dashbord i Kibana for å overvåke logger
La oss nå legge til data om vellykkede forespørsler i diagrammet. I delen "Beregninger", klikk på "Legg til"-knappen og velg "Y-akse".

Opprette et dashbord i Kibana for å overvåke logger
I den opprettede beregningen gjør vi de samme innstillingene som for feilaktige forespørsler. Bare i filteret spesifiserer vi "statuskode < 400".

Opprette et dashbord i Kibana for å overvåke logger
Ved å endre fargen på den nye kolonnen får vi en visning av forholdet mellom problematiske og vellykkede forespørsler.

Opprette et dashbord i Kibana for å overvåke logger
Ved å klikke på "Lagre"-knappen øverst på skjermen og spesifisere navnet, vil vi se det første diagrammet på dashbordet.

Opprette et dashbord i Kibana for å overvåke logger

data~~POS=TRUNC

Vurder nå tabellvisningen "Datatabell". La oss lage en tabell med en liste over alle nettadressene som ble forespurt og antall forespørsler. Som med eksemplet med vertikal søyle velger vi først en datakilde.

Opprette et dashbord i Kibana for å overvåke logger
Etter det vil en tabell med én kolonne vises på skjermen, som viser det totale antallet forespørsler for det valgte tidsintervallet.

Opprette et dashbord i Kibana for å overvåke logger
Vi vil bare endre "Bøtter"-blokken. Klikk på "Legg til"-knappen og velg "Del rader".

Opprette et dashbord i Kibana for å overvåke logger
I "Aggregering"-feltet velger du "Vilkår". Og i det viste feltet "Felt" velg "url.keyword".

Opprette et dashbord i Kibana for å overvåke logger
Ved å spesifisere "Url"-verdien i "Egendefinert etikett"-feltet og klikke på "Oppdater", får vi den ønskede tabellen med antall forespørsler for hver av nettadressene for den valgte tidsperioden.

Opprette et dashbord i Kibana for å overvåke logger
Øverst på skjermen klikker du på "Lagre"-knappen igjen og spesifiserer navnet på tabellen, for eksempel URL-er. La oss gå tilbake til dashbordet og se begge visningene opprettet.

Opprette et dashbord i Kibana for å overvåke logger

Arbeid med Dashboard

Når vi oppretter dashbordet, angir vi bare hovedvisningsparametrene i skjermobjektinnstillingene. Det gir ingen mening å spesifisere data for filtre i objekter, for eksempel "datoperiode", "filtrering etter brukeragent", "filtrering etter forespørselsland", etc. Det er mye mer praktisk å spesifisere ønsket tidsperiode eller angi nødvendig filtrering i spørringspanelet, som er plassert over objektene.

Opprette et dashbord i Kibana for å overvåke logger
Filtrene som legges til i dette panelet vil bli brukt på hele dashbordet, og alle visningsobjekter vil bli gjenoppbygd i samsvar med de faktiske filtrerte dataene.

Konklusjon

Kibana er et kraftig verktøy som lar deg visualisere alle data på en praktisk måte. Jeg prøvde å vise innstillingen for de to hovedtypene skjerm. Men andre typer er konfigurert på lignende måte. Og overfloden av innstillinger som jeg la "bak kulissene" vil tillate deg å veldig fleksibelt tilpasse diagrammer for å passe dine behov.

Kilde: www.habr.com

Legg til en kommentar