Conseil architecture hot - warm

Bonjour,
J'ai actuellement un cluster de deux nodes pour du stockage légal de logs assez volumineux. Je dois les garder un an et ils sont rarement (jamais) consulté. J'aurais pu faire un syslog mais je voulais découvrir la solution.
J'ai plusieurs interrogations.

J'ai l'impression que mon index n'a qu'un shard primaire et une réplique, j'ai pourtant cru comprendre que par defaut les index était découpé en 5 shards ?

Extrait de GET _cat/shards

logstash-faz_log-2020.02.13 0 r STARTED 17517730 12.5gb 10.10.192.242 elk-node-2
logstash-faz_log-2020.02.13 0 p STARTED 17517730 12.5gb 10.10.192.252 elk-node-1
logstash-faz_log-2020.03.05 0 r STARTED 20359679 15.3gb 10.10.192.242 elk-node-2
logstash-faz_log-2020.03.05 0 p STARTED 20359679 15.3gb 10.10.192.252 elk-node-1
logstash-faz_log-2020.03.09 0 r STARTED 27755648 20.7gb 10.10.192.242 elk-node-2
logstash-faz_log-2020.03.09 0 p STARTED 27755648 20.7gb 10.10.192.252 elk-node-1

Enfin pour les conseils

Si je tag node-1 hot et node-2 hot,warm
Est-il possible d'avoir une policy qui me compresse et déplace les index warm vers un stockage spécifique sur le node-2 puis les supprime après 1 an.
Ou bien je dois créer un node-3 taggé warm
Et puis est-ce que les index warm peuvent être stocké sans shards répliqués.

Merci

Normalement par défaut c'est 5 shards, ça a peut être changé?
Tu as bien 1 shard primaire et 1 shard replica dans ton exemple.
Si tu veux avoir 5 shard avec replica :

  curl -XPUT "http://localhost:9200/ton_index" -H 'Content-Type: application/json' -d'
{  "settings": {
    "number_of_shards" : 5,
    "number_of_replicas": 1,
    "index.routing.allocation.require.box_type": "hot"  }
}'

Je comprend pas ta deuxieme question mais si tu veux déplacer tes index warm vers un stoquage spécifique situé sur la même machine tu peux le faire avec un snapshot de tes index à sauvegarder :

https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html

ça te sauvegarde ton index que tu peux supprimer dans Elasticsearch, un peu comme un zip mais rend l'index inexploitable, il te faudra le restaurer et tu retrouveras ton index.
Tu peux à tout moment supprimer le replica de tes index comme ça :

 curl -XPUT "http://localhost:9200/ton_index" -H 'Content-Type: application/json' -d'
{  "settings": {
    "number_of_replicas": 0 }
}'

Par contre impossible de changer le nombre de shards en cours de route, donc ça se définit de façon très précautionneuse lors de la création de l'index, sinon il te faudra recréer un index bis avec le nouveu nombre de shards et tout réindexer de ton index vers l'index bis.

Cela dit ça ne sert à rien d'avoir plusieurs shards avec replia si ton index est sur 1 seul noeud puisque l'intéret du shard c'est de distribuer les données sur plusieurs noeuds...

Depuis la v7, c'est 1 shard par défaut.

1 Like

Merci pour ces infos, @rbeg, même si tu n'as pas compris la question, la réponse est nickel :slight_smile: En effet j'ai focalisé sur ILM alors que ma solution semble être SLM ! Je vais creuser ça.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.