

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Gerenciamento do estado do índice no Amazon OpenSearch Service
<a name="ism"></a>

O Index State Management (ISM) no Amazon OpenSearch Service permite definir políticas de gerenciamento personalizadas que automatizam tarefas rotineiras e as aplicam a índices e padrões de indexação. Não é mais necessário configurar e gerenciar processos externos para executar operações de índice.

Uma política contém um estado padrão e uma lista de estados entre os quais o índice transita. Dentro de cada estado, é possível definir uma lista de ações a serem realizadas e das condições que acionam essas transições. Um caso de uso típico é excluir periodicamente índices antigos após um determinado período. Por exemplo, é possível definir uma política que mova seu índice para o estado `read_only` após 30 dias e, por fim, excluí-lo após 90 dias.

Depois de anexar uma política a um índice, o ISM cria um trabalho que é executado em intervalos de 5 a 8 minutos (ou 30 a 48 minutos para clusters pré-1.3) para executar ações de política, verificar condições e fazer a transição do índice para estados diferentes. O tempo base para que esse trabalho seja executado é a cada 5 minutos. Além disso, uma variação aleatória de 0 a 60% é adicionada a ele para garantir que não ocorra um surto de atividade de todos os seus índices ao mesmo tempo. O ISM não executa tarefas se o estado do cluster for vermelho.

O ISM exige o Elasticsearch 6.8 OpenSearch ou posterior.

**nota**  
Esta documentação fornece uma breve visão geral do ISM e de vários exemplos de políticas. Também explica como o ISM para domínios do Amazon OpenSearch Service difere do ISM em clusters autogerenciados OpenSearch. Para obter a documentação completa do ISM, incluindo uma referência abrangente de parâmetros, descrições de cada configuração e uma referência de API, consulte [Index State Management](https://docs.opensearch.org/latest/im-plugin/ism/index/) na OpenSearch documentação.

**Importante**  
Você não pode mais utilizar modelos de índice para aplicar políticas de ISM a índices recém-criados. Você pode continuar gerenciando automaticamente índices recém-criados com o [campo do modelo de ISM](https://opensearch.org/docs/latest/im-plugin/ism/policies/#sample-policy-with-ism-template-for-auto-rollover). Esta atualização introduz uma alteração significativa que afeta os CloudFormation modelos existentes usando essa configuração. 

## Criar uma política do IAM
<a name="ism-start"></a>

**Para começar a usar o gerenciamento de estados de índices**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Selecione o domínio para o qual você deseja criar uma política do ISM.

1. No painel do domínio, navegue até a URL dos OpenSearch painéis e faça login com seu nome de usuário e senha principais. O URL segue este formato:

   ```
   domain-endpoint/_dashboards/
   ```

1. Abra o painel de navegação esquerdo em OpenSearch Painéis e escolha **Gerenciamento de índices** e, em seguida, **Criar política**. 

1. Use o [editor visual](https://opensearch.org/docs/latest/im-plugin/ism/index/#visual-editor) ou o [editor JSON](https://opensearch.org/docs/latest/im-plugin/ism/index/#json-editor) para criar políticas. Recomendamos que você use o editor visual, pois ele oferece uma maneira mais estruturada de definir políticas. Para obter ajuda com a criação de políticas, consulte as [políticas de exemplo](#ism-example) abaixo.

1. Depois de criar uma política, anexe-a a um ou mais índices:

   ```
   POST _plugins/_ism/add/my-index
   {
     "policy_id": "my-policy-id"
   }
   ```
**nota**  
Se o seu domínio estiver executando uma versão herdada do Elasticsearch, use `_opendistro` em vez de `_plugins`.

   Como alternativa, selecione o índice em OpenSearch Painéis e escolha **Aplicar política**.

## Políticas de exemplo
<a name="ism-example"></a>

As políticas de exemplo a seguir demonstram como automatizar casos de uso comuns do ISM.

### Armazenamento de atividade muito alta para alta atividade para baixa atividade
<a name="ism-example-cold"></a>

Esse exemplo de política move um índice do armazenamento dinâmico para e [UltraWarm](ultrawarm.md), eventualmente, para [armazenamento refrigerado](cold-storage.md). Em seguida, ele exclui o índice.

O índice está inicialmente no estado `hot`. Após dez dias, o ISM o transfere  para o estado `warm`. 80 dias depois, quando o índice tiver 90 dias, o ISM move o índice para o estado `cold` . Após um ano, o serviço envia uma notificação para uma sala do Amazon Chime informando que o índice está sendo excluído e, depois, o exclui permanentemente. 

Observe que os índices frios exigem a operação `cold_delete` em vez da operação normal `delete`. Observe também que um `timestamp_field` explícito é necessário em seus dados para gerenciar índices frios com ISM.

```
{
  "policy": {
    "description": "Demonstrate a hot-warm-cold-delete workflow.",
    "default_state": "hot",
    "schema_version": 1,
    "states": [{
        "name": "hot",
        "actions": [],
        "transitions": [{
          "state_name": "warm",
          "conditions": {
            "min_index_age": "10d"
          }
        }]
      },
      {
        "name": "warm",
        "actions": [{
          "warm_migration": {},
          "retry": {
            "count": 5,
            "delay": "1h"
          }
        }],
        "transitions": [{
          "state_name": "cold",
          "conditions": {
            "min_index_age": "90d"
          }
        }]
      },
      {
        "name": "cold",
        "actions": [{
            "cold_migration": {
              "timestamp_field": "<your timestamp field>"
            }
          }
        ],
        "transitions": [{
          "state_name": "delete",
          "conditions": {
             "min_index_age": "365d"
          }
        }]
      },
      {
        "name": "delete",
        "actions": [{
          "notification": {
            "destination": {
              "chime": {
                "url": "<URL>"
              }
            },
            "message_template": {
              "source": "The index {{ctx.index}} is being deleted."
            }
          }
        },
        {
          "cold_delete": {}
        }]
      }
    ]
  }
}
```

### Reduzir a contagem de réplicas
<a name="ism-example-replica"></a>

Esta política de exemplo mais simples reduz a contagem de réplicas para zero após sete dias para conservar espaço em disco e exclui o índice após 21 dias. Essa política pressupõe que seu índice não seja crítico e não receba mais solicitações de gravação. Ter réplicas zero traz algum risco de perda de dados.

```
{
  "policy": {
    "description": "Changes replica count and deletes.",
    "schema_version": 1,
    "default_state": "current",
    "states": [{
        "name": "current",
        "actions": [],
        "transitions": [{
          "state_name": "old",
          "conditions": {
            "min_index_age": "7d"
          }
        }]
      },
      {
        "name": "old",
        "actions": [{
          "replica_count": {
            "number_of_replicas": 0
          }
        }],
        "transitions": [{
          "state_name": "delete",
          "conditions": {
            "min_index_age": "21d"
          }
        }]
      },
      {
        "name": "delete",
        "actions": [{
          "delete": {}
        }],
        "transitions": []
      }
    ]
  }
}
```

### Obter o snapshot de um índice
<a name="ism-example-snapshot"></a>

Esta política de exemplo usa a operação `[snapshot](https://docs.opensearch.org/latest/im-plugin/ism/policies/#snapshot)` para obter um instantâneo de um índice assim que ele passa a conter pelo menos um documento. `repository` é o nome do repositório manual de snapshots que você registrou no Amazon S3. `snapshot` é o nome do snapshot. Para obter pré-requisitos para a obtenção de snapshot e etapas para registrar um repositório, consulte [Criação de instantâneos de índice no Amazon Service OpenSearch](managedomains-snapshots.md).

```
{
  "policy": {
    "description": "Takes an index snapshot.",
    "schema_version": 1,
    "default_state": "empty",
    "states": [{
        "name": "empty",
        "actions": [],
        "transitions": [{
          "state_name": "occupied",
          "conditions": {
            "min_doc_count": 1
          }
        }]
      },
      {
        "name": "occupied",
        "actions": [{
          "snapshot": {
            "repository": "<my-repository>",
            "snapshot": "<my-snapshot>"
            }
          }],
          "transitions": []
      }
    ]
  }
}
```

## Modelos do ISM
<a name="ism-template"></a>

Você pode configurar um campo `ism_template` em uma política para que, quando criar um índice que corresponda ao padrão do modelo, a política seja anexada automaticamente a esse índice. Neste exemplo, qualquer índice que você criar com um nome começando com “log” é automaticamente correspondido à política do ISM `my-policy-id`:

```
PUT _plugins/_ism/policies/my-policy-id
{
  "policy": {
    "description": "Example policy.",
    "default_state": "...",
    "states": [...],
    "ism_template": {
      "index_patterns": ["log*"],
      "priority": 100
    }
  }
}
```

Para obter um exemplo mais detalhado, consulte [Exemplo de política com modelo de ISM para rolagem automática](https://opensearch.org/docs/latest/im-plugin/ism/policies/#sample-policy-with-ism-template-for-auto-rollover).

## Diferenças
<a name="ism-diff"></a>

Em comparação com o OpenSearch Elasticsearch, o ISM for Amazon OpenSearch Service tem várias diferenças. 

### Operações do ISM
<a name="alerting-diff-op"></a>
+ OpenSearch O serviço oferece suporte a três operações ISM exclusivas`warm_migration`,`cold_migration`,, e`cold_delete`:
  + Se seu domínio estiver [UltraWarm](ultrawarm.md)ativado, a `warm_migration` ação fará a transição do índice para armazenamento aquecido.
  + Se o seu domínio tiver [armazenamento frio](cold-storage.md) habilitado, a ação `cold_migration` passará o índice para o armazenamento frio, e a ação `cold_delete` excluirá um índice do armazenamento frio.

  Mesmo que uma dessas ações não seja concluída dentro do [período de tempo limite definido](https://docs.opensearch.org/latest/im-plugin/ism/policies/#actions), a migração ou exclusão dos índices ainda continuará. Definir uma [error\$1notification](https://opensearch.org/docs/latest/im-plugin/ism/policies/#error-notifications) para uma das ações acima vai notificar você de que a ação falhou se não tiver sido concluída em um período de tempo limite, mas a notificação é apenas para sua própria referência. A operação real não tem tempo limite inerente e continua a ser executada até que eventualmente seja bem-sucedida ou falhe. 
+ Se seu domínio OpenSearch executa o Elasticsearch 7.4 ou posterior, o OpenSearch Service oferece suporte ao ISM `open` e às operações. `close`
+ Se o seu domínio executar OpenSearch o Elasticsearch 7.7 ou posterior, o OpenSearch Service suportará a operação do ISM. `snapshot`

### Operações ISM de armazenamento de baixa atividade
<a name="ism-cold-storage"></a>

Para índices frios, você deve especificar um `?type=_cold` parâmetro ao usar o seguinte ISM APIs:
+ [Adicionar política](https://opensearch.org/docs/latest/im-plugin/ism/api/#add-policy)
+ [Remover política](https://opensearch.org/docs/latest/im-plugin/ism/api/#remove-policy-from-index)
+ [Atualizar política](https://opensearch.org/docs/latest/im-plugin/ism/api/#update-policy)
+ [Repetir índice com falha](https://opensearch.org/docs/latest/im-plugin/ism/api/#retry-failed-index)
+ [Explicar índice](https://opensearch.org/docs/latest/im-plugin/ism/api/#explain-index)

Estes APIs para índices frios têm as seguintes diferenças adicionais:
+ Operadores curingas não são aceitos, exceto quando usados no final. Por exemplo, `_plugins/_ism/<add, remove, change_policy, retry, explain>/logstash-*` é aceito, mas `_plugins/_ism/<add, remove, change_policy, retry, explain>/iad-*-prod` não.
+ Não há suporte a índices e padrões de vários índices. Por exemplo, `_plugins/_ism/<add, remove, change_policy, retry, explain>/app-logs` é aceito, mas `_plugins/_ism/<add, remove, change_policy, retry, explain>/app-logs,sample-data` não.

### Configurações do ISM
<a name="ism-diff-settings"></a>

OpenSearch e o Elasticsearch permitem que você altere todas as configurações de ISM disponíveis usando a `_cluster/settings` API. No Amazon OpenSearch Service, você só pode alterar as seguintes [configurações do ISM](https://opensearch.org/docs/latest/im-plugin/ism/settings/):
+ **Configurações no nível do cluster:**
  + `plugins.index_state_management.enabled`
  + `plugins.index_state_management.history.enabled`
+ **Configurações no nível do índice:**
  + `plugins.index_state_management.rollover_alias`

   

# Tutorial: como automatizar processos do Gerenciamento de estados de índice
<a name="ism-tutorial"></a>

Este tutorial demonstra como implementar uma política do ISM que automatiza tarefas de rotina de gerenciamento de índices e as aplica a índices e padrões de índices.

O [Index State Management (ISM)](ism.md) no Amazon OpenSearch Service permite automatizar atividades recorrentes de gerenciamento de índices, evitando o uso de ferramentas adicionais para gerenciar os ciclos de vida dos índices. Você pode criar uma política que automatize essas operações com base na idade, tamanho e outras condições do índice, tudo de dentro do seu domínio do Amazon OpenSearch Service.

OpenSearch O serviço oferece suporte a três níveis de armazenamento: o estado “ativo” padrão para gravação ativa e análise de baixa latência, UltraWarm para dados somente para leitura de até três petabytes e armazenamento frio para arquivamento ilimitado a longo prazo.

Este tutorial apresenta um exemplo de caso de uso do tratamento de dados de séries temporais em índices diários. No tutorial, você configurará uma política que captura um instantâneo automatizado de cada índice anexado após 24 horas. Em seguida, ele migra o índice do estado quente padrão para o UltraWarm armazenamento após dois dias, o armazenamento frio após 30 dias e, finalmente, exclui o índice após 60 dias.

## Pré-requisitos
<a name="ism-tutorialprerequisites"></a>
+ Seu domínio OpenSearch de serviço deve estar executando a versão 6.8 ou posterior do Elasticsearch.
+ Seu domínio deve ter um [UltraWarm](ultrawarm.md)[armazenamento a frio](cold-storage.md) ativado.
+ É necessário [registrar um repositório de snapshots manuais](managedomains-snapshot-registerdirectory.md) para seu domínio. 
+ Sua função de usuário precisa de permissões suficientes para acessar o console OpenSearch de serviço. Se necessário, valide e [configure o acesso ao seu domínio](ac.md).

## Etapa 1: configurar a política do ISM
<a name="ism-tutorial-policy"></a>

Primeiro, configure uma política do ISM nos OpenSearch painéis.

1. No painel do seu domínio no console OpenSearch de serviços, navegue até a URL dos OpenSearch painéis e faça login com seu nome de usuário e senha principais. O URL segue este formato: `domain-endpoint/_dashboards/`.

1. Em OpenSearch Painéis, escolha **Adicionar dados de amostra** e adicione um ou mais índices de amostra ao seu domínio.

1. Abra o painel de navegação esquerdo e escolha **IGerenciamento de índices** e **Criar política**.

1. Atribua o nome `ism-policy-example` à política.

1. Substitua a política padrão pela seguinte política:

   ```
   {
     "policy": {
       "description": "Move indexes between storage tiers",
       "default_state": "hot",
       "states": [
         {
           "name": "hot",
           "actions": [],
           "transitions": [
             {
               "state_name": "snapshot",
               "conditions": {
                 "min_index_age": "24h"
               }
             }
           ]
         },
         {
           "name": "snapshot",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "30m"
               },
               "snapshot": {
                 "repository": "snapshot-repo",
                 "snapshot": "ism-snapshot"
               }
             }
           ],
           "transitions": [
             {
               "state_name": "warm",
               "conditions": {
                 "min_index_age": "2d"
               }
             }
           ]
         },
         {
           "name": "warm",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "1h"
               },
               "warm_migration": {}
             }
           ],
           "transitions": [
             {
               "state_name": "cold",
               "conditions": {
                 "min_index_age": "30d"
               }
             }
           ]
         },
         {
           "name": "cold",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "1h"
               },
               "cold_migration": {
                 "start_time": null,
                 "end_time": null,
                 "timestamp_field": "@timestamp",
                 "ignore": "none"
               }
             }
           ],
           "transitions": [
             {
               "state_name": "delete",
               "conditions": {
                 "min_index_age": "60d"
               }
             }
           ]
         },
         {
           "name": "delete",
           "actions": [
             {
               "cold_delete": {}
             }
           ],
           "transitions": []
         }
       ],
       "ism_template": [
         {
           "index_patterns": [
             "index-*"
           ],
           "priority": 100
         }
       ]
     }
   }
   ```
**nota**  
O campo `ism_template` anexa automaticamente a política a qualquer índice recém-criado que corresponda a um dos `index_patterns` especificados. Nesse caso, todos os índices que começam com `index-`. É possível modificar esse campo para corresponder a um formato de índice em seu ambiente. Para saber mais, consulte [Modelos do ISM](ism.md#ism-template). 

1. Na seção `snapshot` da política, substitua `snapshot-repo` pelo nome do [repositório de snapshots](managedomains-snapshot-registerdirectory.md) que você registrou para o seu domínio. Se quiser, você também pode substituir `ism-snapshot`, que será o nome do snapshot quando ele for criado.

1. Escolha **Criar**. A política agora está visível na página **Políticas de gerenciamento de estado**.

## Etapa 2: anexar a política a um ou mais índices.
<a name="ism-tutorial-attach"></a>

Agora que você criou a política, anexe-a a um ou mais índices no cluster.

1. Vá para a guia **Índices quentes** e procure `opensearch_dashboards_sample`, que lista todos os índices de exemplo adicionados na etapa 1.

1. Selecione todos os índices e escolha **Aplicar política** e, em seguida, escolha a **ism-policy-example**política que você acabou de criar.

1. Escolha **Aplicar**.

É possível monitorar os índices à medida que eles avançam pelos vários estados na página **Índices gerenciados por políticas**.