Como uso o Index State Management (ISM) para gerenciar espaço baixo de armazenamento no Amazon OpenSearch Service?
Data da última atualização: 16/09/2021
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 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 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 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.
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 é criado. No estado “warm”, 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.
Anexar 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", que foi criado como resultado da política de ISM. Esse anexo garante que os índices também sejam sobrepostos quando a condição necessária (como o tamanho do índice) for atendida.
É possível usar um template 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 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 (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.
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?
O Amazon OpenSearch Service é o sucessor do Amazon Elasticsearch Service.
Informações relacionadas
Este artigo ajudou?
Precisa de ajuda com faturamento ou suporte técnico?