¿Cómo utilizo Index State Management (ISM) para administrar espacio de almacenamiento escaso en Amazon OpenSearch Service?

Última actualización: 16/09/2021

Mi clúster de Amazon OpenSearch Service (sucesor de Amazon Elasticsearch Service) se está quedando sin espacio de almacenamiento. ¿Cómo utilizo Index State Management (ISM) en OpenSearch Service para solucionar problemas de poco espacio de almacenamiento?

Descripción corta

Index State Management (ISM) permite automatizar tareas rutinarias y luego aplicarlas a índices y patrones de índice en OpenSearch Service. Con ISM, se pueden definir políticas de administración personalizadas que ayuden a solucionar problemas como escasez de capacidad en disco. Por ejemplo, se puede utilizar una operación de sustitución y una política de ISM para automatizar la eliminación de índices antiguos en función de condiciones como el tamaño de los índices. La operación de sustitución mueve un destino a un nuevo índice cuando un índice existente cumple la condición definida.

Para crear una política de ISM para un patrón de índice mediante una operación como la sustitución, lleve a cabo los siguientes pasos:

1.    Configure su índice de sustitución.

2.    Cree una política de ISM.

3.    Adjunte la política a un índice.

4.    Agregue la plantilla.

Después de adjuntar la política a un índice, el índice comienza a inicializarse, y luego pasa por distintos estados hasta que finaliza la operación de sustitución. Para obtener más información sobre la operación de sustitución, consulte Sustitución en el sitio web de OpenDistro for Elasticsearch.

Resolución

Configurar su índice de sustitución

Cree un índice y un alias en los que el formato de índice coincida con el patrón de índice:

^.*-\d+$.

Importante: Asegúrese de configurar correctamente el alias de sustitución. De lo contrario, recibirá un error.

En el siguiente ejemplo, se crea “test-index-000001” y se rellena con varios documentos. Dado que en este ejemplo se utiliza un índice de sustitución, el formato de índice debe coincidir con el patrón.

PUT test-index-000001/_doc/1
{
    "user" : "testuser",
    "post_date" : "2020-05-08T14:12:12",
    "message" : "ISM testing"
}

Un índice de sustitución requiere un alias que apunte hacia el último índice. Eso significa que se debe crear un alias (“test-index”) mediante la siguiente consulta:

POST /_aliases
{
    "actions" : [
        { "add" : { "index" : "test-index-000001", "alias" : "test-index" } }
    ]
}

Crear una política de ISM

En OpenSearch Dashboards, elija la pestaña Index Management (Administración de índices), y luego cree una política de ISM para la operación de sustitución.

Por ejemplo:

{
    "policy": {
        "policy_id": "Roll_over_policy",
        "description": "A test policy. DO NOT USE FOR PRODUCTION!",
        "schema_version": 1,
        "error_notification": null,
        "default_state": "hot",
        "states": [
            {
                "name": "hot",
                "actions": [
                    {
                        "rollover": {
                            "min_size": "10mb"
                        }
                    }
                ],
                "transitions": [
                    {
                        "state_name": "warm"
                    }
                ]
            },
            {
                "name": "warm",
                "actions": [
                    {
                        "replica_count": {
                            "number_of_replicas": 2
                        }
                    }
                ],
                "transitions": []
            }
        ]
    }
}

En esta política de ISM, hay dos estados definidos: “hot” (caliente) y “warm” (templado). De manera predeterminada, el índice está en estado “hot” (caliente). El índice pasa al estado “warm” (templado) tan pronto como alcanza los 10 MB de tamaño, y se crea un nuevo índice de sustitución. En el estado “warm” (templado), se pueden realizar varias acciones en el índice, como cambiar el recuento de réplicas a dos o realizar una operación force_merge.

Adjuntar la política a un índice

Para adjuntar la política de ISM a un índice, siga estos pasos:

1.    Abra OpenSearch Dashboards desde la consola de OpenSearch Service.

2.    Elija la pestaña Index Management (Administración de índices).

3.    Seleccione el índice al que desea asociar la política de ISM (por ejemplo: “test-index-000001").

4.    Elija Apply policy (Aplicar política).

5.    (Opcional) Si la política especifica acciones que requieren un alias, proporcione el alias y, a continuación, elija Apply (Aplicar). El índice aparece en la lista Managed Indices (Índices administrados).

Agregar la plantilla

Adjunte la política a un índice específico, como “test-index-000002”, que se haya creado como resultado de la política de ISM. Esto garantiza que los índices también se sustituyan cuando se cumpla la condición requerida (como el tamaño del índice).

Puede usar una plantilla de índice como esta:

PUT _template/template_1
{
  "index_patterns": [
    "test-index*"
  ],
  "settings": {
    "index": {
      "opendistro": {
        "index_state_management": {
          "policy_id": "Roll_over_policy",
          "rollover_alias": "test-index"
        }
      }
    }
  }
}

En este ejemplo, el ID de política JSON es “Roll_over_policy”. Esta plantilla JSON garantiza que cuando se crea el índice “test-index-000002", se adjunta la política de sustitución:

GET test-index-000002/_settings
{
  "test-index-000002" : {
    "settings" : {
      "index" : {
        "opendistro" : {
          "index_state_management" : {
            "policy_id" : "Roll_over_policy",
            "rollover_alias" : "test-index"
          }
        },
        "number_of_shards" : "1",
        "provided_name" : "test-index-000002",
        "creation_date" : "1589031424388",
        "number_of_replicas" : "2",
        "uuid" : "DUHeUdTnSveeYsH9aIkt-Q",
        "version" : {
          "created" : "7010199"
        }
      }
    }
  }
}

Nota: Este índice también se rellena en la secciónManaged Indices (Índices administrados) de la pestaña Index Management (Administración de índices) de OpenSearch Dashboard.

Estados de la política de ISM

Cuando se adjunta una política de ISM a un índice, el índice entra en el estado “Initializing” (Inicializando). Desde el estado “Initializing” (Inicializando), el índice pasa al estado “Default” (Predeterminado), que se define en la política. Esta operación “Initializing”, y cada operación posterior, puede tardar entre 30 y 48 minutos. ISM utiliza este tiempo para realizar acciones de política, y luego verifica las condiciones y cambia el índice a diferentes estados. También se agrega una fluctuación aleatoria del 0 al 60 % para garantizar que no haya aumentos repentinos de actividad provenientes de todos los índices al mismo tiempo.

Nota: Para una operación de sustitución, un índice queda “complete” (completo) después de que tal índice se sustituya, pase al estado “warm” (templado) y se actualice el recuento de réplicas.

Si utiliza una política de ISM y el índice no se migra correctamente, compruebe el estado de ISM.

Para comprobar el estado de la migración de un índice en particular, utilice la siguiente sintaxis:

GET _ultrawarm/migration/<put_index_name_here>/_status

Para obtener una migración resumida de todos los índices, utilice la siguiente sintaxis:

GET _ultrawarm/migration/_status?

¿Le ha resultado útil este artículo?


¿Necesita asistencia técnica o con la facturación?