La Gestió del Cicle de Vida de l'Índex (Index Lifecycle Management, ILM) és una funcionalitat d'Elasticsearch que permet automatitzar la gestió dels índexs al llarg del seu cicle de vida. Això inclou la creació, la rotació, la migració i la supressió d'índexs basant-se en polítiques definides per l'usuari. Aquesta funcionalitat és especialment útil per gestionar grans volums de dades i assegurar que el rendiment del clúster es mantingui òptim.
Conceptes Clau
- Polítiques de Cicle de Vida
Una política de cicle de vida defineix les accions que s'han de prendre en diferents fases del cicle de vida d'un índex. Les fases principals són:
- Hot (Calent): Fase on l'índex és escrit i cercat activament.
- Warm (Tèbia): Fase on l'índex ja no és escrit, però encara és cercat freqüentment.
- Cold (Fred): Fase on l'índex és cercat rarament.
- Delete (Eliminar): Fase on l'índex és eliminat.
- Fases i Accions
Cada fase pot tenir diverses accions associades, com ara:
- Rollover: Crear un nou índex quan l'índex actual arriba a una certa mida o antiguitat.
- Shrink: Reduir el nombre de fragments d'un índex.
- Freeze: Congelar un índex per reduir el seu ús de recursos.
- Delete: Eliminar l'índex.
- Condicions
Les condicions determinen quan una fase ha de començar. Poden basar-se en el temps (per exemple, després de 30 dies) o en altres mètriques (per exemple, quan l'índex arriba a una certa mida).
Creació d'una Política de Cicle de Vida
Exemple de Política de Cicle de Vida
A continuació es mostra un exemple de política de cicle de vida que defineix accions per a les fases hot, warm, cold i delete.
PUT _ilm/policy/my_policy { "policy": { "phases": { "hot": { "actions": { "rollover": { "max_size": "50GB", "max_age": "30d" } } }, "warm": { "min_age": "30d", "actions": { "shrink": { "number_of_shards": 1 }, "forcemerge": { "max_num_segments": 1 } } }, "cold": { "min_age": "90d", "actions": { "freeze": {} } }, "delete": { "min_age": "180d", "actions": { "delete": {} } } } } }
Explicació del Codi
- Hot Phase: L'índex es rotarà quan arribi a 50GB o 30 dies d'antiguitat.
- Warm Phase: Després de 30 dies, l'índex es reduirà a un sol fragment i es forçarà la fusió a un sol segment.
- Cold Phase: Després de 90 dies, l'índex es congelarà per reduir l'ús de recursos.
- Delete Phase: Després de 180 dies, l'índex es suprimirà.
Assignació d'una Política a un Índex
Per aplicar una política de cicle de vida a un índex, cal definir-la en la configuració de l'índex.
PUT my_index { "settings": { "index.lifecycle.name": "my_policy", "index.lifecycle.rollover_alias": "my_alias" } }
Explicació del Codi
- index.lifecycle.name: Nom de la política de cicle de vida a aplicar.
- index.lifecycle.rollover_alias: Àlies utilitzat per a la rotació de l'índex.
Exercici Pràctic
Exercici
-
Crea una política de cicle de vida anomenada
log_policy
que:- Roti l'índex quan arribi a 20GB o 15 dies.
- Redueixi l'índex a 2 fragments després de 15 dies.
- Congeli l'índex després de 60 dies.
- Suprimeixi l'índex després de 120 dies.
-
Aplica aquesta política a un índex anomenat
log_index
.
Solució
PUT _ilm/policy/log_policy { "policy": { "phases": { "hot": { "actions": { "rollover": { "max_size": "20GB", "max_age": "15d" } } }, "warm": { "min_age": "15d", "actions": { "shrink": { "number_of_shards": 2 } } }, "cold": { "min_age": "60d", "actions": { "freeze": {} } }, "delete": { "min_age": "120d", "actions": { "delete": {} } } } } }
PUT log_index { "settings": { "index.lifecycle.name": "log_policy", "index.lifecycle.rollover_alias": "log_alias" } }
Resum
La Gestió del Cicle de Vida de l'Índex (ILM) és una eina poderosa per automatitzar la gestió dels índexs en Elasticsearch. Mitjançant la definició de polítiques de cicle de vida, es poden optimitzar els recursos del clúster i assegurar que els índexs es gestionin de manera eficient al llarg del seu cicle de vida. En aquest mòdul, hem après a crear i aplicar polítiques de cicle de vida, així com a definir accions per a les diferents fases del cicle de vida d'un índex.
Curs d'Elasticsearch
Mòdul 1: Introducció a Elasticsearch
- Què és Elasticsearch?
- Instal·lant Elasticsearch
- Conceptes Bàsics: Nodes, Clústers i Índexs
- Arquitectura d'Elasticsearch
Mòdul 2: Començant amb Elasticsearch
Mòdul 3: Tècniques Avançades de Cerca
Mòdul 4: Modelatge de Dades i Gestió d'Índexs
Mòdul 5: Rendiment i Escalabilitat
- Optimitzant el Rendiment de la Cerca
- Escalant Elasticsearch
- Monitorització i Manteniment
- Còpia de Seguretat i Restauració
Mòdul 6: Seguretat i Control d'Accés
- Assegurant Elasticsearch
- Autenticació i Autorització d'Usuaris
- Control d'Accés Basat en Rols
- Auditoria i Compliment
Mòdul 7: Integracions i Ecosistema
- Elasticsearch amb Logstash
- Elasticsearch amb Kibana
- Elasticsearch amb Beats
- Elasticsearch amb Altres Eines