Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) · leksjon

Elasticsearch: indeksering og søk

Lær det grunnleggende om Elasticsearch, en distribuert motor for søk og analyse. Forstå hvordan dokumenter indekseres og grunnleggende spørringer utføres.

Leksjon 1 av 412 trinn

Elasticsearch: indeksering og søk er en gratis leksjon i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) inneholder totalt 4 leksjoner.

Velkommen til Elasticsearch!

Velkommen til den første leksjonen om ELK Stack! Vi begynner med Elasticsearch, «E-en» i ELK.

Elasticsearch er en kraftig, åpen kildekodebasert, distribuert søke- og analyseplattform. Den er utviklet for å lagre, søke i og analysere store datamengder raskt.

  • Distribuert: Kjører på flere servere.
  • Sanntid: Data blir tilgjengelige for søk nesten umiddelbart.
  • Skalerbar: Håndterer enkelt økende databehov.

Data som JSON-dokumenter

Elasticsearch lagrer data som JSON-dokumenter. Se på et dokument som én enkelt post, omtrent som en rad i en database, men med større fleksibilitet.

Hvert dokument er en samling felt (nøkkel-verdi-par) og kan inneholde ulike datatyper, blant annet tekst, tall, datoer og til og med andre JSON-objekter.

Her er et enkelt eksempel på et dokument:

{"user": "alice", "message": "Hello CoddyKit!"}

Forstå indekser

I Elasticsearch organiseres dokumenter i indekser. En indeks tilsvarer omtrent en database i et relasjonelt databasesystem eller en samling i en NoSQL-database.

Du kan ha flere indekser, og hver indeks kan lagre dokumenter som er delvis relatert til hverandre. Du kan for eksempel ha én indeks for «logger» og en annen for «produkter».

  • En indeks er et logisk navneområde.
  • Den grupperer lignende dokumenter.
  • Du søker i bestemte indekser.

Indekser ditt første dokument

Indeksering er prosessen med å legge til eller oppdatere dokumenter i en Elasticsearch-indeks. Når du indekserer et dokument, lagrer Elasticsearch det og gjør det søkbart.

Hvert dokument trenger en unik ID i indeksen. Hvis du ikke oppgir en, genererer Elasticsearch en for deg.

Vi bruker HTTP API-kall, vanligvis med PUT- eller POST-forespørsler, for å kommunisere med Elasticsearch.

Eksempel på indeksering av et dokument

La oss indeksere et enkelt loggdokument i en indeks som heter my_logs. Vi angir ID-en 1.

Prøv å kjøre denne kommandoen (forutsatt at Elasticsearch kjører på localhost:9200):

curl -X PUT "localhost:9200/my_logs/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
  "timestamp": "2023-10-27T10:00:00Z",
  "level": "info",
  "message": "Application started successfully"
}'

Hent dokumenter etter ID

Når et dokument er indeksert, kan du hente det ved hjelp av den unike ID-en. Dette er nyttig når du vet nøyaktig hvilket dokument du vil hente.

For å hente et dokument sender du en HTTP-forespørsel med GET til endepunktet for den bestemte indeksen og dokument-ID-en.

Denne operasjonen går svært raskt, fordi Elasticsearch kan hente dokumentet direkte.

Eksempel på henting av et dokument

La oss hente dokumentet vi nettopp indekserte med ID-en 1 fra indeksen my_logs.

Kjør denne kommandoen for å se det lagrede dokumentet:

curl -X GET "localhost:9200/my_logs/_doc/1?pretty"

Introduksjon til søk

Den virkelige styrken til Elasticsearch ligger i søkefunksjonene. I stedet for å kjenne en ID vil du ofte finne dokumenter basert på innholdet deres.

Du kan søke i alle dokumenter i én eller flere indekser ved hjelp av ulike spørringstyper. Elasticsearch bruker et spørringsspråk basert på JSON.

  • Finn dokumenter ved hjelp av nøkkelord.
  • Filtrer etter datointervaller eller bestemte verdier.
  • Kombiner flere søkekriterier.

Grunnleggende søk: Match All

Den enkleste søkespørringen er match_all-spørringen. Den returnerer alle dokumenter i den angitte indeksen.

Dette brukes ofte for å kontrollere at dokumenter er riktig indeksert, eller som utgangspunkt for mer komplekse spørringer.

Du sender en HTTP-forespørsel med GET til _search-endepunktet for indeksen din.

Eksempel på Match All-spørring

La oss søke etter alle dokumentene i indeksen my_logs. Du får se dokumentet vi indekserte tidligere.

Kjør denne kommandoen:

curl -X GET "localhost:9200/my_logs/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "match_all": {}
  }
}'

Kort sjekk av indeksering

Du har lært om dokumenter og indekser, og hvordan du indekserer og henter data. La oss teste forståelsen din av indeksering.

Oppsummering: Indeksering og grunnleggende søk

Godt jobbet! I denne leksjonen har du lært det grunnleggende om Elasticsearch:

  • Elasticsearch er en distribuert søke- og analyseplattform.
  • Data lagres som JSON-dokumenter.
  • Dokumenter organiseres i indekser.
  • Indeksering legger til eller oppdaterer dokumenter ved hjelp av PUT/POST-forespørsler.
  • Dokumenter kan hentes etter ID ved hjelp av GET-forespørsler.
  • Grunnleggende søk kan utføres med spørringer som match_all.

Deretter skal vi se nærmere på Logstash, «L-en» i ELK, for å ta inn og behandle data!

Gratis å komme i gang

Lær deg Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Elasticsearch: indeksering og søk» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry), inkludert «Elasticsearch: indeksering og søk», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) inneholder totalt 4 leksjoner.

Hva lærer jeg i «Elasticsearch: indeksering og søk»?

Lær det grunnleggende om Elasticsearch, en distribuert motor for søk og analyse. Forstå hvordan dokumenter indekseres og grunnleggende spørringer utføres. Du øver på Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)?

Ingen tidligere erfaring er nødvendig. Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Elasticsearch: indeksering og søk»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)-leksjonen?

Ja. Alle Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Elasticsearch: indeksering og søk
  2. Logstash: inntak og behandling av data
  3. Kibana: visualisering og dashbord
  4. Beats: Lettvekts datafrakt
← Tilbake til Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)