La Gestión del Ciclo de Vida del Índice (ILM, por sus siglas en inglés) en Elasticsearch es una funcionalidad que permite definir políticas para gestionar los índices a lo largo de su ciclo de vida. Esto incluye la creación, la gestión, la optimización y la eliminación de índices de manera automatizada, lo que ayuda a mantener el rendimiento y la eficiencia del clúster.
Conceptos Clave
-
Fases del Ciclo de Vida:
- Hot (Caliente): Fase donde los datos son indexados y consultados frecuentemente.
- Warm (Tibia): Fase donde los datos son menos frecuentemente consultados pero aún se necesitan.
- Cold (Fría): Fase donde los datos son raramente consultados y se almacenan de manera más económica.
- Delete (Eliminar): Fase donde los datos ya no son necesarios y se eliminan.
-
Políticas de ILM: Conjunto de reglas que definen cómo y cuándo los índices deben moverse entre las diferentes fases del ciclo de vida.
-
Acciones de ILM: Operaciones específicas que se ejecutan en cada fase, como la rotación de índices, la reducción del número de réplicas, la migración a almacenamiento más económico, etc.
Creación de una Política de ILM
Paso 1: Definir la Política
Para crear una política de ILM, primero se define un conjunto de fases y acciones. A continuación, se muestra un ejemplo de una política de ILM en formato JSON:
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "50GB",
"max_age": "30d"
}
}
},
"warm": {
"min_age": "30d",
"actions": {
"allocate": {
"number_of_replicas": 1
},
"forcemerge": {
"max_num_segments": 1
}
}
},
"cold": {
"min_age": "90d",
"actions": {
"allocate": {
"require": {
"box_type": "cold"
}
}
}
},
"delete": {
"min_age": "180d",
"actions": {
"delete": {}
}
}
}
}
}Paso 2: Aplicar la Política a un Índice
Una vez definida la política, se puede aplicar a un índice o a un patrón de índices. Esto se hace mediante la API de Elasticsearch:
PUT _ilm/policy/my_policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "50GB",
"max_age": "30d"
}
}
},
"warm": {
"min_age": "30d",
"actions": {
"allocate": {
"number_of_replicas": 1
},
"forcemerge": {
"max_num_segments": 1
}
}
},
"cold": {
"min_age": "90d",
"actions": {
"allocate": {
"require": {
"box_type": "cold"
}
}
}
},
"delete": {
"min_age": "180d",
"actions": {
"delete": {}
}
}
}
}
}Paso 3: Asociar la Política a un Índice
Para asociar la política a un índice, se utiliza la API de gestión de índices:
Ejercicio Práctico
Ejercicio 1: Crear y Aplicar una Política de ILM
- Definir una política de ILM que mueva los índices a la fase "warm" después de 7 días y los elimine después de 30 días.
- Aplicar la política a un índice llamado
logs-2023.
Solución
- Definir la política de ILM:
PUT _ilm/policy/logs_policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "50GB",
"max_age": "7d"
}
}
},
"warm": {
"min_age": "7d",
"actions": {
"allocate": {
"number_of_replicas": 1
},
"forcemerge": {
"max_num_segments": 1
}
}
},
"delete": {
"min_age": "30d",
"actions": {
"delete": {}
}
}
}
}
}- Aplicar la política al índice
logs-2023:
Resumen
En esta sección, hemos aprendido sobre la Gestión del Ciclo de Vida del Índice (ILM) en Elasticsearch, incluyendo los conceptos clave, cómo crear y aplicar políticas de ILM, y cómo asociar estas políticas a índices específicos. La ILM es una herramienta poderosa para automatizar la gestión de índices y mantener el rendimiento y la eficiencia del clúster.
En el siguiente módulo, exploraremos técnicas avanzadas para optimizar el rendimiento de búsqueda en Elasticsearch.
Curso de Elasticsearch
Módulo 1: Introducción a Elasticsearch
- ¿Qué es Elasticsearch?
- Instalando Elasticsearch
- Conceptos Básicos: Nodos, Clústeres e Índices
- Arquitectura de Elasticsearch
Módulo 2: Empezando con Elasticsearch
Módulo 3: Técnicas Avanzadas de Búsqueda
Módulo 4: Modelado de Datos y Gestión de Índices
- Mapeo y Analizadores
- Plantillas de Índices
- Alias y Reindexación
- Gestión del Ciclo de Vida del Índice
Módulo 5: Rendimiento y Escalabilidad
- Optimizando el Rendimiento de Búsqueda
- Escalando Elasticsearch
- Monitoreo y Mantenimiento
- Respaldo y Restauración
Módulo 6: Seguridad y Control de Acceso
- Asegurando Elasticsearch
- Autenticación y Autorización de Usuarios
- Control de Acceso Basado en Roles
- Auditoría y Cumplimiento
Módulo 7: Integraciones y Ecosistema
- Elasticsearch con Logstash
- Elasticsearch con Kibana
- Elasticsearch con Beats
- Elasticsearch con Otras Herramientas
