Como posso usar o ISM para gerenciar pouco espaço de armazenamento disponível no Amazon OpenSearch Service
Última atualização: 21/11/2022
Meu cluster do Amazon OpenSearch 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 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 template.
Após vincular a 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 seja concluída. Para obter mais informações sobre a operação de rollover, consulte rollover no site do OpenDistro for OpenSearch.
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, 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 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"
}
}]
}
Observação: se uma operação de rollover estiver incluída na política do ISM, será necessário incluir o alias rollover. Para obter mais informações, consulte Por que a ação do índice de rollover em minha política do ISM continua falhando no Amazon OpenSearch Service?
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.
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” assim que atinge 10 MB e um novo índice de rollover é criado. No estado “warm”, é possível 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 template
Vincule a política a um índice específico, como “test-index-000002", o qual foi criado como resultado da política de ISM. Com essa vinculação, também haverá rollover dos índices depois que a condição necessária (como o tamanho do índice) for atendida.
É possível criar e usar um modelo do ISM como este:
PUT _plugins/_ism/policies/test_policy
{
"policy": {
"description": "A test policy. DO NOT USE FOR PRODUCTION!",
"last_updated_time": 1642027350875,
"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": []
}
],
"ism_template": {
"index_patterns": [
"test*"
],
"priority": 100
}
}
}
Neste exemplo, a API explain verifica se o modelo “test_policy” que você criou está vinculado ao índice recém-criado:
GET _plugins/_ism/explain/test-index-000002
{
"test-index-000002": {
"index.plugins.index_state_management.policy_id": "test_policy",
"index.opendistro.index_state_management.policy_id": "test_policy",
"index": "test-index-000002",
"index_uuid": "CZrQ-RzRS8SmiWIuyqFmVg",
"policy_id": "test_policy",
"enabled": true
},
"total_managed_indices": 1
}
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 depois 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, um índice entra no estado “complete” depois que o índice é sobreposto, faz a transição para um estado “warm” e a contagem de réplicas é atualizada.
Se você estiver usando uma política do ISM e o índice não estiver migrando corretamente, verifique o status do ISM.
Para verificar o status da migração para um determinado índice, use a seguinte sintaxe:
GET _ultrawarm/migration/<put_index_name_here>/_status
Para obter uma migração resumida de todos os índices, use a seguinte sintaxe:
GET _ultrawarm/migration/_status?
Informações relacionadas
Este artigo ajudou?
Precisa de ajuda com faturamento ou suporte técnico?