Définir les index et alias

Description

Dans Elasticsearch, les données que nous indexons sont stockées dans un index. Le mot “index” est utilisé à la fois comme un verbe et un nom. Essentiellement, nous effectuons une opération d’indexation afin de stocker des données dans un index. Cependant, avant de pouvoir le faire, nous devons d’abord comprendre la structure d’un index et comment en définir un pour répondre à des besoins spécifiques. Dans ce laboratoire pratique, vous allez définir des index Elasticsearch en effectuant les tâches suivantes :

  • Configurer le nombre de shards primaires d’un index.
  • Configurer le nombre de tiroirs de réplique d’un index.
  • Attribuer les tiroirs d’un index aux nœuds chauds.
  • Allouer les tessons d’un index aux nœuds chauds.
  • Associer des index avec des alias.

Vous travaillez en tant qu’administrateur système pour une entreprise qui souhaite utiliser Elasticsearch avec Kibana pour stocker et analyser certaines données de journal. On vous demande de préparer le cluster Elasticsearch pour les données de journal en créant quelques index. Les journaux sont considérés comme des données chronologiques, et nous nous intéressons généralement aux journaux les plus récents. Nous devons nous assurer que les données dont nous nous soucions le plus sont allouées à nos nœuds les plus rapides, ou “chauds”. Les données dont nous nous soucions moins peuvent être attribuées à des nœuds “chauds” plus lents, qui ne seront pas indexés ou recherchés aussi souvent. Nous devons également être en mesure de rechercher les données en utilisant des alias tels que “this_week”, “yesterday” ou “today”. Les alias facilitent la recherche des données qui vous intéressent car vous n’avez pas besoin de connaître les noms d’index spécifiques.

Vous disposez d’un cluster Elasticsearch préconfiguré à 6 nœuds avec Kibana déjà configuré et en cours d’exécution sur le nœud coordinator-1. Vous devrez utiliser l’outil de console de Kibana pour interagir avec les API d’Elasticsearch afin de créer les index suivants :

NameAliasesPrimariesReplicasAllocation
logs-2020-01-05logs / this_week21warm
logs-2020-01-06logs / this_week21warm
logs-2020-01-07logs / this_week21warm
logs-2020-01-05logs / this_week21warm
logs-2020-01-05logs / this_week21warm
logs-2020-01-05logs / this_week / yesterday21hot
logs-2020-01-05logs / this_week / today21hot

Création des index

Créer l’index logs-2020-01-05

PUT logs-2020-01-05
{
  "aliases": {
    "logs": {},
    "this_week": {}
  }, 
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1,
    "index.routing.allocation.require.temp": "warm"
  }
}

Créer l’index logs-2020-01-06

PUT logs-2020-01-06
{
  "aliases": {
    "logs": {},
    "this_week": {}
  }, 
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1,
    "index.routing.allocation.require.temp": "warm"
  }
}

Créer l’index logs-2020-01-07

PUT logs-2020-01-07
{
  "aliases": {
    "logs": {},
    "this_week": {}
  }, 
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1,
    "index.routing.allocation.require.temp": "warm"
  }
}

Créer l’index logs-2020-01-08

PUT logs-2020-01-08
{
  "aliases": {
    "logs": {},
    "this_week": {}
  }, 
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1,
    "index.routing.allocation.require.temp": "warm"
  }
}

Créer l’index logs-2020-01-09

PUT logs-2020-01-09
{
  "aliases": {
    "logs": {},
    "this_week": {}
  }, 
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1,
    "index.routing.allocation.require.temp": "warm"
  }
}

Créer l’index logs-2020-01-10

PUT logs-2020-01-10
{
  "aliases": {
    "logs": {},
    "this_week": {},
    "yesterday": {}
  }, 
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1,
    "index.routing.allocation.require.temp": "hot"
  }
}

Créer l’index logs-2020-01-11

PUT logs-2020-01-11
{
  "aliases": {
    "logs": {},
    "this_week": {},
    "today": {}
  }, 
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1,
    "index.routing.allocation.require.temp": "hot"
  }
}