RousselTMLEARNING

Observabilité

Index Lifecycle Management (ILM) : data tiers, rollover et rétention

Automatiser le cycle de vie des index avec ILM : data tiers hot, warm, cold et frozen, rollover par taille et âge, shrink, force merge, searchable snapshots, suppression et diagnostic avec explain.

1. Les phases #

Des données qui vieillissent.

Cycle #

Phases d'une politique ILM
PhaseActions typiquesNœuds
hotrollover, priorité hautedata_hot (SSD)
warmshrink, forcemerge, read-onlydata_warm
coldmoins de répliques, searchable snapshot (selon licence)data_cold
frozensearchable snapshot partieldata_frozen + dépôt objet
deletesuppression, éventuellement après snapshot-

2. Une politique #

En pratique.

Politique et diagnostic #

PUT _ilm/policy/logs-30d
{
  "policy": {
    "phases": {
      "hot":    { "actions": { "rollover": { "max_primary_shard_size": "50gb", "max_age": "1d" } } },
      "warm":   { "min_age": "7d",  "actions": { "shrink": { "number_of_shards": 1 }, "forcemerge": { "max_num_segments": 1 } } },
      "delete": { "min_age": "30d", "actions": { "delete": {} } }
    }
  }
}

GET logs-nginx-default/_ilm/explain        # phase et étape de chaque index, erreurs éventuelles
À savoir : min_age se compte à partir du rollover de l'index, pas de sa création : un index « 7 jours » en warm a été écrit pendant 1 jour puis vieilli 7 jours.
Erreur Courante : Sans rollover, l'âge d'un index énorme ne bouge pas : ILM ne fait rien de pertinent. Le rollover (via un data stream ou un alias d'écriture) est la base de tout le reste.
À savoir : Certaines fonctionnalités dépendent de la version et du niveau de licence (Basic, Platinum, Enterprise) : vérifiez-les dans la documentation et la page des abonnements Elastic avant de les utiliser en production.

Articles liés

Architecture distribuée Elasticsearch : rôles des nœuds, shards, répliques et allocation

Comprendre le fonctionnement distribué d'Elasticsearch : rôles des nœuds, nœuds master et quorum, cluster sta…

Mappings et analyse de texte Elasticsearch : types de champs, analyseurs et mapping dynamique

Maîtriser les mappings Elasticsearch : types de champs (text, keyword, numériques, date, ip, nested), multi-f…

Ingestion Elasticsearch : Bulk API, ingest pipelines, enrich et reindex

Ingérer et transformer des données dans Elasticsearch : Bulk API, ingest pipelines et processeurs (grok, diss…

Pour aller plus loin