Ved hjelp av Elastic Stack kan vi gjøre avanserte transformasjoner på store datamengder for å få bedre oversikt og innsikt. I denne sammenhengen tar vi for oss muligheten til å bruke nyeste datatransformasjon for å få et presist bilde av de nyeste hendelsene i datasettet vårt, som for eksempel de siste trafikkorkene på bestemte rutenettverk. Dette er et kraftig verktøy for databehandling, spesielt når vi har med tidsfølsomme data å gjøre, der vi ønsker å hente ut kun den nyeste informasjonen for hver enhet.
I vårt tilfelle har vi en datastrøm som inneholder trafikkdata fra Rennes, og vår oppgave er å finne ut hva som er de siste trafikkinformasjonene for hver rute. Ved å bruke Elastic Stack, kan vi sette opp en transformasjon som lar oss hente ut den siste tilgjengelige posten for hver rute – dette kan være spesielt nyttig for sanntidsovervåkning av trafikk eller for å analysere tidsserier for spesifikke hendelser som traffikkorker.
Når man oppretter en nyeste datatransformasjon, er det noen viktige trinn å følge:
-
Opprettelse av transformasjon: For å komme i gang går vi til Stack Management og velger "Transforms". Deretter klikker vi på "Create a transform"-knappen og velger den aktuelle datavisningen (i vårt tilfelle,
metrics-rennes_traffic-default). -
Konfigurering av transformasjonen: Etter å ha valgt datavisningen, konfigurerer vi transformasjonen ved å velge "Latest transform" og angir at vi vil bruke all tilgjengelig data innenfor et tidsintervall. Dette trinnet er kritisk, ettersom det gir mulighet for å hente ut kun den siste informasjonen basert på de angitte parametrene.
-
Bruk av søkefilter: For å redusere mengden data, er det viktig å filtrere bort irrelevant informasjon. I vårt tilfelle filtrerer vi ut trafikkdata som ikke er relevant for trafikktetthet, som for eksempel data om fri flyt eller ukjent trafikkstatus. Dette gjør at vi kan fokusere på den mest relevante informasjonen om trafikksituasjonen.
-
Definer unik nøkkel og sorteringsfelt: For å sikre at transformasjonen fungerer riktig, må vi definere en unik nøkkel som identifiserer hvert objekt i datasettet. I vårt tilfelle bruker vi
location_referencesom unik nøkkel. Deretter må vi velge et sorteringsfelt, som oftest vil være et tidsstempel (@timestamp), slik at vi kan hente ut de nyeste dokumentene basert på tid. -
Opprettelse av destinasjonsindeks: Når transformasjonen er konfigurert, oppretter vi en destinasjonsindeks for å lagre de transformerte dataene. Denne indeksen inneholder kun de nyeste trafikkdataene per rute, og kan brukes til videre analyser eller visualiseringer.
-
Kontinuerlig transformasjon: Når transformasjonen er startet, kjøres den kontinuerlig i bakgrunnen. Dette gir oss muligheten til å oppdatere dataene våre regelmessig – for eksempel hver gang det skjer en endring i trafikkstatusen på en rute. Dette er en kraftig funksjon som gjør det mulig å holde datasettet vårt oppdatert til enhver tid uten å måtte gjøre manuelle oppdateringer.
En viktig fordel med den nyeste datatransformasjonen er at den gjør det enklere å jobbe med tidsfølsomme data. For eksempel kan den brukes til å opprettholde en oppdatert oversikt over statusen til IoT-enheter i sanntid eller for å spore de siste interaksjonene med en bruker i et system som håndterer kundeservice.
Ved å bruke denne tilnærmingen kan vi også håndtere store datamengder mer effektivt. I stedet for å måtte analysere hele datasettet for å finne de nyeste oppføringene, lar den nyeste datatransformasjonen oss raskt hente ut den relevante informasjonen for videre analyse, visualisering eller beslutningstaking.
Det er viktig å merke seg at mens transformasjonen gjør prosessen mye mer effektiv, så krever det at systemet vårt er konfigurert til å håndtere slike kontinuerlige oppdateringer. Derfor bør man sørge for at infrastrukturen støtter den nødvendige kapasiteten for å håndtere denne kontinuerlige databehandlingen, spesielt når man jobber med store datasett.
Den nyeste datatransformasjonen gir også stor fleksibilitet i hvordan vi kan bruke og visualisere dataene våre. Vi kan for eksempel opprette dashbord som viser sanntidsstatus for spesifikke systemer, som å overvåke trafikkinformasjon eller systemytelse. Det kan også være nyttig for profilenrichment, der vi kontinuerlig oppdaterer en brukers profil med de siste interaksjonene deres for å gi mer relevante anbefalinger eller kundeserviceopplevelser.
I tillegg til disse grunnleggende bruksområdene, kan den nyeste datatransformasjonen også brukes til en rekke andre applikasjoner, som for eksempel:
-
Sanntidsovervåkning av ulike systemer, der man holder oversikt over den nyeste tilstanden til hver enhet.
-
Profilforbedring, der man kontinuerlig oppdaterer profiler basert på de siste interaksjonene eller hendelsene som har skjedd.
-
Forbedring av datakvalitet, hvor man kan sikre at kun den nyeste og mest relevante informasjonen blir brukt til videre analyser eller beslutningstaking.
En viktig ting å huske på når man bruker denne funksjonen er at ytelsen til systemet kan bli påvirket av hvordan transformasjonen er konfigurert. Det er derfor viktig å være oppmerksom på innstillingene som påvirker ytelsen og gjøre nødvendige justeringer for å sikre at prosessen ikke blir for tungvint for systemet.
Hvordan lage effektive visualiseringer i Kibana: En veiledning
Når man jobber med datavisualiseringer i Kibana, spesielt med Elastic Stack versjon 8 og nyere, er det flere typer diagrammer og teknikker man kan bruke for å analysere trafikkdata på en effektiv måte. Her skal vi gå gjennom noen av de vanligste visualiseringene som kan være nyttige for å forstå trafikkstatus og trafikkinformasjon på forskjellige veier og tidspunkter.
En av de nyeste og mest interessante visualiseringene som er introdusert, er "waffle chart" (vaffeldiagram). Dette diagrammet er svært nyttig når man ønsker å vise proporsjoner og fordeling av trafikkstatus på en enkel måte. For å lage en slik visualisering, må du først navigere til Kibana, velge Analytics, og deretter Visualize Library. Klikk på "Create visualization" og velg deretter "Lens". Velg den relevante datavisningen, som for eksempel "metrics-rennes_traffic-raw", og velg deretter "Waffle" som diagramtype.
Når du har valgt Waffle-diagrammet, klikker du på feltet "traffic_status" i listen over tilgjengelige felter og ser på hvordan trafikkstatus er fordelt. I dette eksemplet, som omhandler Rennes, ser vi at det finnes fire forskjellige trafikkstatusverdier. Deretter må du justere visualiseringen ved å dra feltet "traffic_status" inn i arbeidsområdet og gruppere etter de fire verdiene i datasettet. Dette gir en oversikt over hvordan trafikken er fordelt på de forskjellige statusene. Etter at visualiseringen er ferdig, kan du lagre og legge den til biblioteket ditt for senere bruk.
En annen effektiv visualisering er donut-diagrammet, som kan brukes til å analysere trafikkstatus i forhold til forskjellige veityper. Dette diagrammet går et skritt videre ved å vise ikke bare fordelingen av trafikkstatus, men også hvordan veityper (definert av den maksimalt tillatte hastigheten) er fordelt innenfor hver trafikkstatus. Dette kan gi verdifulle innsikter i hvordan ulike hastigheter påvirker trafikken på spesifikke veier.
For å lage et donut-diagram i Kibana, må du først velge den samme datavisningen og velge diagramtypen "Donut". Dra deretter "traffic_status" inn i arbeidsområdet og sett antallet verdier til 4 for å samsvare med de fire trafikkstatusene. Deretter kan du legge til feltet "max_speed" i Slice by-seksjonen, slik at de forskjellige hastighetsintervallene vises i den ytre ringen av diagrammet.
En annen viktig visualiseringstype er sammenligningen mellom gjennomsnittlig hastighet og trafikkstatus, som kan utføres ved å bruke flere lag i Kibana. Denne visualiseringen er svært nyttig for å forstå hvordan trafikkstatusene påvirker den globale gjennomsnittlige hastigheten i byen. Ved å bruke "Bar vertical percentage" som diagramtype kan du sammenligne forskjellige trafikkstatusverdier med den gjennomsnittlige hastigheten. Ved å legge til et ekstra lag med "Line"-diagramtype, som viser den globale gjennomsnittlige hastigheten over tid, kan man få en mer nyansert forståelse av hvordan trafikkstatusene påvirker hastigheten.
For mer avanserte visualiseringer kan man bruke "Metric"-diagrammer. Dette kan være spesielt nyttig når man ønsker å vise flere forskjellige gjennomsnittlige hastigheter samtidig, delt etter veiens hierarki. Ved å bruke funksjonen "Metric" kan man lage visualiseringer som viser gjennomsnittlig hastighet på forskjellige veiområder, og legge til flere sekundære metrikker som f.eks. "max_speed" for å gi mer kontekst til dataene.
Ved å kombinere flere metrikker i en visualisering, som f.eks. gjennomsnittlig kjøretøyhastighet og maksimal hastighet, kan man gi brukeren en mer detaljert og omfattende forståelse av trafikkforholdene på ulike veityper. Dette kan være nyttig både for trafikkplanlegging, bydesign og for å optimalisere trafikksikkerheten i storbyer.
Når man lager visualiseringer, er det viktig å være klar over at datasettet kan inneholde unike egenskaper som kan påvirke hvordan dataene blir presentert. For eksempel kan visse verdier i trafikkstatusfeltene ha skjev fordeling, noe som betyr at man må tilpasse visningsinnstillingene for å få en mer balansert fremstilling av dataene. Det kan også være nødvendig å justere aggregasjonsmetodene for å få en mer presis fremstilling av hvordan trafikkstatusene påvirker gjennomsnittlig hastighet eller trafikkmengde over tid.
En viktig komponent i denne typen visualisering er også muligheten til å tilpasse fargeskalaene og intervalldelingene for å gjøre informasjonen lettere tilgjengelig og mer visuelt forståelig. Ved å bruke farger på en smart måte kan man fremheve viktige trender og forskjeller, som f.eks. høye trafikkvolumer eller lavere gjennomsnittshastigheter.
I tillegg til disse teknikkene er det viktig å huske på at visualiseringer bør være enkle å tolke og forstå for sluttbrukeren. Når man designer visualiseringer, bør man alltid ha sluttbrukeren i tankene, og sørge for at dataene presenteres på en måte som er intuitiv og lettfattelig. Dette gjelder både for tekniske eksperter som arbeider med databehandling, og for beslutningstakere som bruker visualiseringene til å ta informerte beslutninger.
Hvordan lage interaktive Kibana-dashbord og visualiseringer for bedre datainnsikt
Når du har importert alle nødvendige objekter, vil du se en oversikt som viser at objektene er vellykket importert. Gå tilbake til oversiktsdashboardet for [Rennes Traffic] og åpne menyen for [Rennes Traffic] Speed by road hierarchie-panelet. Velg alternativet for å lage et drilldown. Dette gir deg muligheten til å lage en navigasjonsbane fra et overordnet dashboard til et mer detaljert, der du kan utforske spesifikke data med én enkel handling. Velg navnet på drilldown som "Vis detaljer for veikategori", og i menyen for valg av destinasjonsdashboard, velg [Rennes Traffic] Detaljert trafikk-drilldown dashboard, som du nylig har importert. Når du har konfigurert drilldown, kan du lagre dashboardet og teste det ved å klikke på ett av diagrammene i panelet. Du vil bli omdirigert til det detaljerte dashboardet, der dataene er filtrert etter verdien du har valgt. Nå har du laget ditt første interaktive dashboard i Kibana, som gir en dynamisk opplevelse med muligheten til å utforske data på en mer detaljerte måte.
I Kibana er et dashboard en samling visualiseringer og lagrede søk som kan arrangeres og tilpasses for å vise de dataene som er viktigst for deg. Du kan lage flere dashboard for ulike bruksområder, og hvert dashboard kan ha sitt eget sett med visualiseringer og søk. Dashbord er en kraftig verktøy for datanalyse, ettersom de lar deg se flere visualiseringer samtidig og raskt identifisere mønstre og trender i dataene. Dashbordene gjør det også lettere å overvåke viktige måleverdier i sanntid, noe som er spesielt nyttig i operasjonelle sammenhenger.
Kibana gir et bredt spekter av visualiseringstyper, inkludert stolpediagrammer, linjediagrammer, sektordiagrammer, tabeller, og mer. Hvilken visualisering du velger, avhenger av datatypen og hva du ønsker å analysere. For eksempel, dersom du har mange elementer, vil et horisontalt stolpediagram være passende, mens for få elementer kan et vertikalt stolpediagram være mer effektivt. Hvis du ønsker å vise sammenhenger over tid, kan et linjediagram være det beste valget. For å visualisere mål eller målsetninger kan et metrisk diagram være en god løsning. Å velge riktig visualisering er avgjørende for å formidle budskapet ditt på en klar og forståelig måte.
I tillegg til visualiseringer kan Kibana-dashbord også støtte lagrede søk, som lar deg filtrere data raskt basert på spesifikke kriterier. Ved å lagre søk som du bruker ofte, kan du enkelt legge dem til dashboardet for rask tilgang. Dashbordene i Kibana gir deg også muligheten til å lage drilldowns, som gir en interaktiv opplevelse hvor du kan grave dypere i dataene uten å forlate dashboardet ditt. Du kan også bruke URL- og Discover-drilldowns for å koble til eksterne data eller åpne Discover fra et Lens-panel.
En viktig funksjon ved Kibana-dashbord er muligheten for å dele dem med teamet ditt eller kolleger utenfor Kibana-miljøet. Du kan enkelt dele dashboardene ved å bruke delingsmenyen i verktøylinjen. Du kan eksportere dashboardene som rapporter i forskjellige formater (som PNG, CSV, PDF, etc.), eller dele dem som direkte lenker for enkel tilgang. Hvis du vil gjøre dashboardene enda mer visuelle og engasjerende, kan du også bruke iFrame for å integrere dem interaktivt på andre plattformer.
Når du bygger dashbord i Kibana, er det viktig å tenke på design. Start med å stille deg selv noen spørsmål: Hva er målet med dashboardet? Er det å forstå overordnede trender, sammenligne spesifikke målinger samtidig, eller finne roten til et problem? Hvem er målgruppen for dashboardet? Hvis du bygger det for et team, må du sette deg inn i deres behov og hvordan de vil bruke dataene.
For å gjøre Kibana-dashbord mer intuitive, kan det være lurt å lese mer om designprinsipper. Det finnes flere ressurser som kan hjelpe deg med å lage bedre, mer brukervennlige dashbord. Et blogginnlegg om design av Kibana-dashbord for ikke-designere kan gi deg verdifulle tips, og for de som ønsker å effektivisere prosessen med å bygge dashbord, finnes det også spesifikke tekniske blogger om hvordan dette kan gjøres mer effektivt.
I tillegg til de grunnleggende dashbordene, kan du bruke Kibanas Canvas-funksjon til å lage engasjerende visualiseringsarbeid. Canvas lar deg lage infografikk som kombinerer data med design og gjør dataene mer tiltalende og lettere å forstå. Med Canvas kan du begynne med en tom mal og bygge opp ditt eget arbeid ved å legge til logoer, farger og designelementer som gir et unikt preg på visualiseringen. Denne funksjonen gir et stort potensial for å skape presentasjoner som kan brukes både internt og eksternt.
Når du begynner å lage en Canvas-arbeidsflate, er det viktig å ha forberedt noen visualiseringer på forhånd, for eksempel ved å bruke Kibana Lens eller Kibana-kart, som nevnt i dette kapittelet. Deretter kan du laste opp en mal for Canvas og begynne å legge til elementer som diagrammer og grafer. Et eksempel på et Canvas-arbeidsfelt kan være en graf som viser trafikkbelastning over tid. Ved å bruke et område-diagram kan du illustrere hvordan trafikken utvikler seg gjennom dagen, noe som gir nyttig innsikt for de som overvåker trafikkflyt i sanntid.
Kibana gir deg mange verktøy for å lage informative og interaktive visualiseringer, og med tanke på design kan du bygge dashbord og arbeidspaneler som ikke bare er funksjonelle, men også visuelt tiltalende. Å forstå hvordan du kan bruke disse verktøyene effektivt, er en viktig ferdighet for alle som arbeider med dataanalyse, enten det er for daglig overvåkning eller for å finne innsikter som kan hjelpe med beslutningstaking.
Hvordan kan man effektivt overvåke Elasticsearch-klynger og deres helse med Health API og tilpassede visualiseringer?
Formelen for å beregne total lagringsplass brukt per indeks i en Elasticsearch-klynge kombinerer den sist registrerte lagringsverdien per dag med antall shards, og gir en presis oversikt over ressursbruk: last_value(index_stats.total.store.size_in_bytes) * max(elasticsearch.index.shards.total). Ved å bruke Kibana kan man bygge egendefinerte visualiseringer som viser lagringsendringer per indeks over tid. For eksempel kan man sette verdiformatet til Bytes (1024), spesifisere antall desimaler, og sortere resultatene synkende for å raskt identifisere hvilke indekser som bruker mest lagringsplass. Disse visualiseringene kan deretter samles i dashboards som gir et helhetlig bilde av systemets tilstand og ytelse.
Visualisering av overvåkingsdata i Kibana krever først å identifisere de riktige feltene med nyttig informasjon, som kan finnes i dokumentasjonen for Metricbeat’s Elasticsearch-modul. Fra versjon 8.10 har Elastic integrert innebygde dashboards for datainntaks-metrikker, noe som ytterligere forenkler tilgangen til viktige overvåkingsdata via Analytics | Dashboards. Disse ferdiglagde dashboardene er gode utgangspunkter for å forstå hvordan man kan utnytte overvåkingsdata til å bygge egne skreddersydde visninger.
En sentral komponent i moderne overvåking av Elasticsearch-klynger er Health API, introdusert i versjon 8.7. Denne API-en tilbyr en intuitiv måte å få oversikt over klyngens helsetilstand, feildiagnostikk og feilsøking direkte fra hovedklyngen, ikke bare gjennom dedikerte overvåkingsklynger. Ved å sende forespørsler som GET _health_report kan man få status som grønn, gul eller rød, sammen med detaljer som stabilitet i master-noden, integritet i snapshots, og tilgjengelighet av shards.
Når klyngestatus viser advarsler, for eksempel gul status på grunn av utilgjengelige shards, gir Health API detaljert informasjon om symptomer og konsekvenser. Man kan også kjøre mer spesifikke forespørsler, som GET _health_report/shards_availability eller GET _cluster/allocation/explain for å få innsikt i hvorfor enkelte shards ikke er tildelt. Dette bidrar til raskere og mer målrettet feilsøking.
For brukere av Elastic Cloud er det også mulig å følge klyngens helse gjennom sky-konsollen, som visualiserer status og gir konkrete anbefalinger for håndtering av problemer. Dette gjør det enklere å opprettholde systemets robusthet uten å måtte dykke dypt ned i API-spørringer.
Selv om Health API gir en ny og effektiv metode for overvåkning, kan det i mer komplekse situasjoner være nødvendig å supplere med den tradisjonelle Cluster Health API for ytterligere detaljer. Det anbefales å begynne med Health API for en rask helsevurdering, og deretter gå videre til Cluster Health API dersom man trenger dypere analyser.
Det er viktig å forstå at effektiv overvåkning av Elasticsearch ikke bare handler om å hente data, men også om å tolke metrikker og bygge visualiseringer som gjør komplekse data forståelige. Systemets helse, shard-tilgjengelighet, og lagringsbruk henger tett sammen og bør alltid vurderes samlet for å sikre stabil drift. I tillegg må man ha gode rutiner for feildiagnostikk og håndtering av varsler for å unngå eskalering av problemer.

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский