Como uso o Index State Management (ISM) para gerenciar espaço baixo de armazenamento no Amazon OpenSearch Service?

Última atualização: 2021-07-30

Meu cluster do Amazon OpenSearch Service (sucessor do Amazon Elasticsearch Service) está com pouco espaço de armazenamento. Como uso o Index State Management (ISM) no OpenSearch Service para gerenciar problemas de espaço de armazenamento?

Breve descrição

O Index State Management (ISM – Gerenciamento de estados de índice) permite automatizar tarefas de rotina e aplicá-las a índices e padrões de índice no OpenSearch Service. Com o ISM, você pode definir políticas personalizadas de gerenciamento que ajudam você na manutenção de problemas como pouco espaço em disco. Por exemplo, você pode usar uma operação de rollover (sobreposição) e uma política do ISM para automatizar a exclusão de índices antigos com base em condições como o tamanho do índice. A operação de rollover (sobreposição) sobrepõe um destino com um novo índice quando um índice existente atende à condição definida.

Para criar uma política de ISM para um padrão de índice usando uma operação como rollover (sobreposição), execute as seguintes etapas:

1.    Configure seu índice de rollover (sobreposição).

2.    Crie uma política de ISM.

3.    Vincule a política a um índice.

4.    Adicione o modelo.

Após vincular sua política a um índice, o índice começa a ser inicializado e, em seguida, faz a transição para estados diferentes até que a operação de rollover (sobreposição) seja concluída. Para mais informações sobre a operação de rollover (sobreposição), consulte Rollover (Sobreposição) no site OpenDistro for Elasticsearch.

Resolução

Configurar seu índice de rollover (sobreposição)

Crie um índice e um alias nos quais o formato de índice corresponda ao padrão de índice:

^.*-\d+$.

Importante: não esqueça de configurar corretamente o alias de rollover (sobreposição). Caso contrário, você receberá uma mensagem de erro.

No exemplo a seguir, “test-index-000001” é criado e preenchido com vários documentos. Como este exemplo usa um índice de rollover (sobreposição), o formato do índice deve corresponder ao padrão.

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

Um índice de rollover (sobreposição) requer um alias que aponte para o índice mais recente. Isso significa que é necessário criar um alias (“test-index”) usando a seguinte consulta:

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

Criar uma política do ISM

No OpenSearch Dashboards, escolha a guia Index Management (Gerenciamento de índices) e crie uma política de ISM para sua operação de rollover (sobreposição).

Por exemplo:

{
    "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": []
            }
        ]
    }
}

Nessa política de ISM, existem dois estados definidos: “hot” (quente) e “warm” (morno). Por padrão, seu índice está no estado “hot”. O índice faz a transição para o estado “warm” (morno) assim que atinge 10 MB e um novo índice de rollover (sobreposição) é criado. No estado “warm” (morno), você pode executar várias ações no índice, como alterar a contagem de réplicas para dois ou executar uma operação force_merge.

Vincular a política a um índice

Para vincular a política de ISM a um índice, execute as seguintes etapas:

1.    Abra o OpenSearch Dashboards no console do OpenSearch Service.

2.    Escolha a guia Index Management (Gerenciamento de índices).

3.    Selecione o índice ao qual deseja vincular sua política de ISM (p. ex.: “test-index-000001").

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

5.    (Opcional) Se a política especificar qualquer ação que exija um alias, forneça o alias e escolha Apply (Aplicar). Seu índice aparece na lista Managed Indices (Índices gerenciados).

Adicionar o modelo

Vincule a política a um índice específico, como “test-index-000002", que foi criado como resultado da política de ISM. Esse anexo garante que os índices também serão sobrepostos quando a condição necessária (como o tamanho do índice) for atendida.

É possível usar um modelo de índice como este:

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

Neste exemplo, o ID da política JSON é “Roll_over_policy”. Este modelo JSON garante que a política de rollover (sobreposição) seja vinculada quando o índice “test-index-000002” for criado:

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"
        }
      }
    }
  }
}

Observação: esse índice também é preenchido na seção Managed Indices (Índices gerenciados) na guia Index Management (Gerenciamento de índices) do OpenSearch Dashboard.

Estados da política de ISM

Quando uma política de ISM é vinculada a um índice, o índice entra em um estado “Initializing” (Inicializando). Do estado “Initializing” (Inicializando), o índice passa para o estado “Default” (Padrão), que é definido na política. Essa operação “Initializing” (Inicializando) e todas as operações subsequentes podem levar de 30 a 48 minutos. O ISM usa esse tempo para executar ações de política e, em seguida, verifica se há condições e faz a transição do índice para diferentes estados. Também há a adição de um jitter aleatório de 0 a 60% para garantir que não haja surtos de atividade provenientes de todos os índices ao mesmo tempo.

Observação: para uma operação de rollover (sobreposição), um índice fica no estado “complete” (concluído) depois que o índice é sobreposto, faz a transição para um estado “warm” (morno) e a contagem de réplicas é atualizada.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?