Jeg kører altid Logstash i docker og for at kunne overvåge Logstash med Metricbeat og…
Index templates i Elasticsearch
Når du arbejder med Elasticsearch, kan du have brug for at oprette flere indeks med lignende eller identiske mappings og indstillinger. Dette kan være en tidskrævende proces, da du skulle gentage den samme oprettelsesproces for hvert indeks. Heldigvis kan du benytte dig af Elasticsearch Index Templates for at automatisere oprettelsen af indeks og sikre ensartede mappings og indstillinger.
Hvad er et Index Template?
Et Index Template i Elasticsearch er en prædefineret konfiguration, der kan bruges til at oprette indeks med ensartede mappings og indstillinger. En index template kan konfigureres til at matche specifikke indeksnavne eller indeksmønstre baseret på et bestemt mønster. Når du opretter et nyt indeks, vil Elasticsearch automatisk anvende de indstillinger, der er defineret i den tilsvarende index template.
Hvorfor bruge et Index Template?
Index templates kan spare tid og sikre, at dine indeks har ensartede mappings og indstillinger. Uden et index template skal du gentage den samme oprettelsesproces for hvert indeks, hvilket kan være tidskrævende og ressourcekrævende. Hvis du har flere indeks med lignende mappings og indstillinger, kan et index template gøre oprettelsen og vedligeholdelsen af dine indeks mere effektiv og nemmere at administrere.
Hvordan opretter du et Index Template?
Du kan oprette et index template ved at sende en PUT-forespørgsel til Elasticsearch API. I denne forespørgsel definerer du en unik navnepræfiks for dit index template og angiver de mappings og indstillinger, du vil anvende på indekser, der matcher mønsteret i dit template.
Her er et eksempel på en index template, der er konfigureret til at matche indeks, der starter med “logs_”:
PUT _template/mine-logs
{
"index_patterns": ["mine_logs_*"],
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"message": {
"type": "text"
},
"timestamp": {
"type": "date"
}
}
}
}
I dette eksempel er et index template oprettet med navnet “mine-logs”. Template-mønstret er sat til “mine_logs_*”, hvilket betyder, at denne template vil blive anvendt på alle indeksnavne, der starter med “mine_logs_”. Dette vil automatisk anvende de indstillinger, der er defineret i template, på alle fremtidige indeks, der oprettes, og matcher mønsteret.
I dette eksempel inkluderer template både indstillinger og mappings. Indstillingerne angiver, at hvert indeks skal have en enkelt shard og en replika. Mappings definerer to felter: “message” og “timestamp”, der er hhv. tekst og dato typer.