Hvordan du konfigurerer en elasticsearch -indeksmaler

Hvordan du konfigurerer en elasticsearch -indeksmaler
Indekser er en essensiell elasticsearch -funksjon uten at den sannsynligvis ikke vil fungere som det gjør. Selv om elasticsearch -indekser kan variere avhengig av tiltenkt bruk, har de en tendens til å dele vanlige egenskaper. Gitt dette kan det være slitsomt å lage lignende egenskaper for alle indekser. I stedet er det mye mer effektivt å lage en mal vi kan henvise til når vi oppretter en indeks.

Denne opplæringen vil lede deg gjennom inn- og outs av elasticsearch -indeksmaler som lar deg definere maler eller tegninger for vanlige indekser. For eksempel, hvis du hele tiden logger data fra eksterne kilder, kan du definere en blåkopi for alle loggingsindekser.

MERK: Før vi begynner, er det bra å merke seg at opplæringen fokuserer på den nyeste versjonen av Elasticsearch-7.8 I skrivende stund-og det kan variere fra andre versjoner. Vi antar også at du har Elasticsearch som kjører på et system et sted.

La oss komme i gang med å jobbe med Elasticsearch Index -maler.

Hva er en Elasticsearch Index -mal?

En Elasticsearch Index -mal er en metode som brukes for å instruere Elasticsearch til å konfigurere indekser ved opprettelsen. For eksempel konfigurerer en indeksmal som brukes på en datastrøm strømmenes backing -indekser ved opprettelsen. En indeksmal opprettes manuelt før indeksoppretting. Når du oppretter en indeks, bruker malen konfigurasjonsinnstillingene for indeksen.

Den siste versjonen av Elasticsearch har to typer brukbare maler. Den ene er Indeksmal, Og den andre er komponentmaler. Som vi allerede har etablert, hjelper indeksmaler med å lage elasticsearch -indekser.

Komponentmaler er gjenbrukbare moduler eller blokker som brukes til å konfigurere innstillinger, kartlegging og aliaser. Komponentmaler blir ikke brukt direkte på de opprettede indeksene, men kan bidra til å lage indeksmaler.

Noen standardindeksmaler brukt av Elasticsearch inkluderer: Metrics-*-*, logger-*-* .

Hvordan lage en indeksmal

For å opprette nye indeksmaler eller oppdatere eksisterende, bruker vi PUT -mal API. Ved hjelp av _index_template endepunktet kan vi sende en HTTP -forespørsel om å legge til en mal.

Den generelle syntaksen for å lage en mal er:

Sett _index_template/Template_name

Det er godt å merke seg at malnavnet er en nødvendig parameter. Vurder forespørselen nedenfor som oppretter en indeksmal som mal_1

Sett _index_template/mal_1

/ * Definere indeksmønsteret */
"index_patterns": ["te*"],
"Prioritet": 1,
/* Definere innstillinger for indeksene*/
"mal":
"Innstillinger":
"Number_of_shards": 2


For Curl -brukere er kommandoen:

Curl -xput "http: // localhost: 9200/_index_template/mal_1" -h 'innholdstype: applikasjon/json' -d '/*Definer indeksmønsteret*/"index_patterns": ["te*"], "Prioritet": 1, /* Definer innstillinger for indeksene* / "mal": "Innstillinger": "number_of_shards": 2 '

Elasticsearch bruker et jokertegn for å matche indeksnavn der malene brukes. Endring eller oppdatering av en indeksmal påvirker ikke allerede opprettet indekser bare de som vil bli opprettet etter å ha brukt den malen.

Ovenfra kan du kommentere malene dine ved hjelp av C-Language Commenting Method. Du kan legge til så mange kommentarer du vil, hvor som helst i kroppen bortsett fra de krøllete seleres åpning.

I kroppen til en indeksmal kan du inkludere forskjellige definisjoner som:

  • Mal: Malegenskapen (objekt) definerer hvilken mal som skal brukes; Det kan inkludere aliaser, kartlegginger og innstillinger-dette en valgfri parameter.
  • Består av: Denne egenskapen definerer en liste over navn for komponentmaler. Når den er definert, blir komponentmaler forsterket i spesifikasjonsrekkefølgen. Det betyr at den siste komponentmalen definert har den høyeste forrang.
  • Prioritet: Prioritetsegenskapen definerer forrang for indeksmalen når du oppretter en indeks. Hvis noen forrang har den høyeste verdien, får den høyere forrang sammenlignet med lavere verdier. Prioritetsverdien er ikke nødvendig og er av typen heltall. 0 er standardverdien for ikke-spesifiserte maler.
  • Versjon: Versjonsparameteren spesifiserer indeksmalversjonen, som hjelper til med å administrere malene.

Det er andre egenskaper du kan inkludere i indeksmalorganet. Vurder dokumentasjonen for å lære mer.

https: // www.elastisk.CO/Guide/EN/Elasticsearch/Reference/7.10/indeks-templater.html

Nedenfor er et eksempel på forespørsel om å opprette en ny mal med versjon 1.0

Put /_index_template /mal_2

"index_patterns": ["remp*", "re*"],
"Prioritet": 1,
"mal":
"Innstillinger":
"Number_of_shards": 2,
"number_of_replicas": 0

,
"Versjon": 1.0

Du kan ikke ha mer enn en indeksmal med et matchende mønster og samme prioritet. Sørg derfor for å tildele forskjellige prioriteringer for å matche mønstermaler.

Hvordan få indeksmal

For å se informasjon om en indeksmal, send en GET -forespørsel til _index_template API. For å se informasjon om mal_2, bruk for eksempel forespørselen:

Få _index_template/mal_2

Curl -kommandoen er:

Curl -xget "http: // localhost: 9200/_index_template/mal_2"

Denne kommandoen skal vise informasjon om mal_2


"index_templates": [

"Navn": "mal_2",
"index_template":
"index_patterns": [
"RMP*",
"Re*"
],
"mal" :
"Innstillinger":
"Indeks":
"Number_of_shards": "2",
"number_of_replicas": "0"


,
"består av" : [ ],
"Prioritet": 1,
"Versjon": 1


]

Du kan også bruke jokertegn for å få matchende maler. Tenk for eksempel på forespørselen nedenfor for å se alle maler i Elasticsearch.

Få _index_template/*

Curl -kommandoen er.

Curl -xget http: // localhost: 9200/_index_template/*

Denne kommandoen skal gi deg informasjon om alle maler i Elasticsearch


"index_templates": [

"Navn": "Ilm-History",
"index_template":
"index_patterns": [
"ILM-History-3*"
],
"mal" :
"Innstillinger":
"Indeks":
"Format": "1",
"Livssyklus" :
"Navn": "Ilm-History-ilm-Policy",
"Rollover_alias": "ILM-History-3"
,
"Skjult": "True",
"Number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"

,
"Mappings":
"Dynamisk": Falske,
"egenskaper" :
"index_age":
"Type": "Lang"
,
"@timestamp":
"Format": "Epoch_millis",
"Type": "Dato"
,
"feilmeldingsdetaljer" :
"Type": "Tekst"
,
"suksess":
"Type": "Boolean"
,
"Indeks":
"Type": "nøkkelord"
,
"stat" :
"Dynamic": True,
"Type": "Objekt",
--------------------------Output avkortet-----------------------------------

Hvordan slette maler

Å slette en mal er like enkel som å få malen, men ved å bruke slettforespørsel som:

Slett _index_template/mal_2

Du kan bruke Curl -kommandoen:

Curl -xdelete "http: // localhost: 9200/_index_template/mal_2"

Denne kommandoen sletter automatisk den spesifiserte malen.

Konklusjon

Denne opplæringen dekket hva elasticsearch -indeksmaler er, hvordan de fungerer og hvordan du oppretter, ser og sletter indeksmaler. Denne grunnleggende informasjonen skal hjelpe deg med å komme i gang med å bruke elasticsearch -indeksmaler.