Søkeapplikasjoner er et kraftig verktøy for å integrere søkefunksjonalitet direkte i applikasjonene dine ved å bruke Elasticsearchs fulle potensial. Denne funksjonaliteten kombinerer flere kjernebegreper som Elasticsearch-indekser, søkmaler og et brukervennlig grensesnitt i Kibana for å forhåndsvise søkresultater. I tillegg er det en Search Application API som gjør det mulig å integrere søkeopplevelsen sømløst i applikasjonene dine. Dette gjør det enklere å lage en fleksibel, men robust løsning for søk uten å måtte dykke dypt i Elasticsearchs mer komplekse funksjoner.
Når du har satt opp Elasticsearch, Kibana og Fleet Server, og har fullført den forrige oppskriften for bruk av søkmaler, kan du begynne å bygge din egen søkeapplikasjon. La oss ta et praktisk eksempel der vi bruker et filmsett med data for å lage en søkeapplikasjon.
Start prosessen ved å navigere til Kibana | Search | Search Applications og klikk på “Create”-knappen. I den følgende konfigurasjonsflyouten kan du velge den ønskede indeksen, i vårt tilfelle filmsettet, og gi søkeapplikasjonen et navn, for eksempel "movies-search-application". Når du har fylt ut nødvendige felt, klikker du på "Create"-knappen for å opprette applikasjonen. Den nye søkeapplikasjonen vil da vises på listen over eksisterende applikasjoner. Klikk på navnet for å bli ført til en dedikert søkeside der du kan begynne å stille spørsmål mot indeksen og få resultater.
Nå som søkeapplikasjonen er opprettet, kan du begynne å tilpasse dens standard søkmal. Dette gjøres ved å bruke den søkmalen du laget i en tidligere oppskrift. Gå til Dev Tools og kjør kommandoene som finnes i lenken i boken for å oppdatere søkeapplikasjonen. Når applikasjonen er oppdatert, kan du teste den med et enkelt søk, som for eksempel etter "space" i filmdataene. Resultatene skal vise en økning i antallet aggregasjonsbøtter, som viser de mest relevante søkekategoriene.
Søkeapplikasjoner fungerer som en server-side komponent og en lagringslag for data. De gir en enkel måte å integrere søkefunksjonalitet i applikasjoner uten å kreve dyp kjennskap til Elasticsearchs Query DSL. Dette gjør at du kan bruke applikasjonen til å håndtere søk på backend, mens du kan bygge et grensesnitt på frontend for å kommunisere med applikasjonen via et dedikert API-endepunkt. Det er også et ekstra sikkerhetslag ved å bruke API-nøkler for autentisering og autorisering.
Sikkerheten ivaretas gjennom enkle konfigurasjoner i Kibana, hvor du kan definere hvilke parametere som kan benyttes i søkene. For å gjøre dette, naviger til “Connect”-menyen i din søkeapplikasjon og generer API-nøkler. Denne prosessen beskytter søkene dine og sørger for at applikasjonen din fungerer på en sikker måte.
For videre utvikling av søkeopplevelsen kan du også bygge et frontend-grensesnitt som benytter Search Application API. Ved å integrere en slik klient, kan du tilpasse søkeopplevelsen ytterligere og gi brukerne et mer interaktivt og dynamisk søk.
Det er viktig å forstå at selv om Elasticsearch og Kibana tilbyr en stor grad av fleksibilitet, er det viktig å designe søkeapplikasjoner med tanke på både ytelse og skalerbarhet. Det er også essensielt å optimalisere søkene dine ved å bruke riktig struktur for indekser og query maler, spesielt når du jobber med store datamengder. Sørg for å holde søkeparametrene enkle og målrettede, og vurder alltid hvordan ulike parametre som aggregering og filtrering påvirker søkedybden og hastigheten.
Når du har satt opp grunnleggende funksjonalitet, kan du begynne å analysere hvordan brukerne interagerer med søkefunksjonen, og justere grensesnittet basert på atferdsmønstre. For eksempel kan du implementere funksjoner som autocompletion eller feilkorreksjon for å forbedre brukeropplevelsen ytterligere. Tenk på hvordan du kan bygge et grensesnitt som ikke bare viser resultater, men også gir innsikt i hvorfor et bestemt resultat ble rangert høyt, og hvordan det kan bli relevant for sluttbrukeren.
En annen viktig faktor er CORS (Cross-Origin Resource Sharing). Når applikasjoner jobber med klienter og servere på forskjellige domener, er det nødvendig å konfigurere CORS på serveren for å tillate kommunikasjon mellom dem. Dette kan oppnås ved å aktivere CORS i Elasticsearch-konfigurasjonen, som kan gjøres via "elasticsearch.yml"-filen. Denne innstillingen er viktig når du jobber med applikasjoner som krever interaksjon fra ulike domener.
For sluttbrukeren er det viktig å forstå at en godt implementert søkeapplikasjon kan gjøre mye mer enn bare vise søkebaserte resultater. Den kan også gi kraftige funksjoner som filtrering, rangering av resultater, samt tilpasning av søkeresultatene basert på brukernes tidligere interaksjoner. En søkeapplikasjon skal derfor være både dynamisk og tilpasningsdyktig til de spesifikke behovene til applikasjonen og dens brukere.
Hvordan sette opp og overvåke Apache HTTP Server med Elastic Agent
Inngang av data i Elasticsearch kan virke som en utfordring, men det finnes effektive verktøy og metoder som gjør prosessen både enklere og mer strukturert. I denne sammenhengen har vi brukt Fleet Server-komponenten som tilbys og administreres av Elastic Cloud. Når du implementerer systemet lokalt, må du imidlertid sette opp din egen Fleet Server.
En sentral komponent i Elastic Agent-arkitekturen er policyen. En policy er et sett med konfigurasjoner og inndata som bestemmer hvilken type data en agent skal samle inn. Hver Elastic Agent kan kun være tilknyttet én policy. Innenfor policyen finner vi ulike konfigurasjoner for integrasjoner, som spesifiserer innstillingene og parameterne for datainnsamling. Det er viktig å merke seg at det per dags dato ikke er mulig å definere et hierarki eller en arvemekanisme mellom flere policies. Når en policy er opprettet, lagres den i et Fleet-indeks i Elasticsearch.
Hvordan fungerer dette i praksis? Når en Elastic Agent blir registrert, tar agenten kontakt med Fleet Server for å melde seg på den aktuelle policyen ved å bruke en spesifikk registreringsnøkkel. Fleet Server overvåker kontinuerlig Fleet-indeksene og fordeler policyen til alle Elastic Agenter som er registrert. Deretter benytter Elastic Agent policyens konfigurasjonsdetaljer for å samle inn og sende data til Elasticsearch. Elastic Agent holder også en kontinuerlig kommunikasjon med Fleet Server for å motta oppdateringer. Når en policy oppdateres, blir de nye innstillingene distribuert til alle tilkoblede agenter.
Selv om Elastic Agent i dette eksemplet sender data direkte til Elasticsearch, er det også mulig å konfigurere Logstash eller Kafka som alternative utganger for agenten. Dette kan være et godt valg dersom du trenger mer avansert databehandling før informasjonen når Elasticsearch eller andre sluttpunkter.
I en Kubernetes-miljø kan Elastic Agent også deployeres via ECK-operatøren. Når du implementerer i slike miljøer, kan du finne de nødvendige manifestene i Elastic sine offisielle ressurser for Kubernetes.
I denne delen av boken fokuserer vi på et praktisk eksempel på hvordan Elastic Agent kan brukes til å overvåke en av de mest populære serverne – Apache HTTP Server. Apache er en av de mest brukte webserverne globalt, og å bruke Elastic Agent for å samle inn og analysere loggfiler og metrikker fra denne serveren, gir innsikt i ytelsen og helse i serveren din. Dette krever en Elastic Agent installasjon og et allerede operativt Apache HTTP Server-miljø.
Integrasjoner er en viktig del av datainnsamlingen i Elastic Stack, spesielt når det gjelder tidsstemplede hendelser. De gir en enkel og standardisert metode for å samle inn data fra en rekke applikasjoner og tjenester. Disse integrasjonene finnes i Elastic Package Registry og kan enkelt aksesseres gjennom Kibana. For organisasjoner som har nettverksbegrensninger, kan de fortsatt bruke sin egen, selvhostede versjon av Elastic Package Registry.
Før du kan sette opp Apache-integrasjonen, må du ha Elastic Agent installert og kjørende. Når dette er på plass, kan du navigere til Kibana, der du finner integrasjonene for Apache HTTP Server. Her kan du velge å legge til Apache HTTP Server-integrasjonen ved å spesifisere hvilken policy som skal benyttes for å samle inn loggfiler og metrikker.
Etter at du har lagt til integrasjonen, kan du bekrefte at dataene samles inn ved å navigere til "Analytics | Dashboard" i Kibana, hvor du kan se spesifikke dashboards som viser tilgangs- og feillogger for Apache HTTP Server. Dette gir deg en visuell fremstilling av serverens ytelse og eventuelle feil som kan kreve oppmerksomhet.
Elastic Agent-integrasjonene gir en enkel, men kraftig tilnærming til datainnsamling, samtidig som de opprettholder systemets sikkerhet. Hver integrasjon kommer med ferdige komponenter for observabilitet, inkludert datainnsamling, lagring og visualisering, som gjør det lettere å forstå og reagere på eventuelle problemer før de blir kritiske.
Viktige faktorer å huske på er at du ikke bare skal samle inn data, men at du også må ha en strategi for hvordan du analyserer og bruker denne informasjonen. Å monitorere Apache HTTP Server gir innsikt i hvordan serveren presterer under høy belastning, hvilke feil som oppstår, og hvilke mønstre som kan indikere potensielle problemer. Den praktiske bruken av disse dataene kan forbedre både ytelsen og påliteligheten til serverne i en bedriftsinfrastruktur.
Hvordan kan tverrfaglighet mellom humaniora og STEM forme fremtidens utdanning og teknologi?
Hvordan fremtidens teknologi kan transformere luftfartsindustrien: AI, maskinlæring og digital navigasjon
Hvordan FinOps-verktøyet og FinOps Hub kan forenkle og optimalisere skykostnadsstyring
Hvordan danne komparativer og superlativer på portugisisk
Hvordan kryss- og post-sting kan forbedre din hekling

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