Como Configurar e Testar Políticas ILM no Elasticsearch
Alex Salgado
Posted on August 2, 2024
Introdução
Gerenciar dados de forma eficiente é crucial, especialmente em sistemas que lidam com grandes volumes de informações. O Elasticsearch, uma poderosa ferramenta de busca e análise, oferece o recurso de políticas de gerenciamento de ciclo de vida de índices (ILM) para ajudar a gerenciar como os dados são armazenados, movidos e excluídos ao longo do tempo. Isso não só otimiza a performance, mas também ajuda a reduzir os custos de armazenamento. Imagine uma empresa que coleta dados de sensores IoT: inicialmente, os dados precisam ser acessados rapidamente, mas com o tempo, podem ser movidos para um armazenamento mais barato antes de serem excluídos após um período.
Passo 1: Configurar a Política ILM
1.1 Definindo a Política ILM
Primeiro, precisamos criar uma política ILM chamada my_ilm_policy
. Esta política divide o ciclo de vida dos dados em três fases:
- Fase "hot": Aqui, os dados são escritos inicialmente. Configuramos para fazer o rollover (criar um novo índice) quando o índice atinge 50 GB ou 30 dias de idade.
- Fase "warm": Após 30 dias, os dados são movidos para nós de dados "warm", que são mais baratos, mas ainda relativamente rápidos.
- Fase "delete": Após 90 dias, os dados são excluídos para liberar espaço.
Comando:
PUT /_ilm/policy/my_ilm_policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "50gb",
"max_age": "30d"
}
}
},
"warm": {
"min_age": "30d",
"actions": {
"allocate": {
"require": {
"data": "warm"
}
}
}
},
"delete": {
"min_age": "90d",
"actions": {
"delete": {}
}
}
}
}
}
1.2 Criar o Índice Inicial e Associar o Alias
Agora, criamos o primeiro índice (my_index-000001
) e associamos a ele um alias chamado my_alias
. O alias é um apelido para o índice, facilitando a referência a ele. Também aplicamos a política ILM my_ilm_policy
ao índice.
Comando:
PUT /my_index-000001
{
"settings": {
"index": {
"lifecycle": {
"name": "my_ilm_policy",
"rollover_alias": "my_alias"
}
}
},
"aliases": {
"my_alias": {}
}
}
Passo 2: Verificar o Índice de Gravação e sua Saúde
2.1 Verificar o Índice de Gravação
Para garantir que estamos gravando no índice correto, verificamos qual índice está associado ao alias my_alias
.
Comando:
GET /_alias/my_alias
2.2 Verificar a Saúde do Índice de Gravação
Para garantir que o índice está funcionando corretamente, verificamos sua saúde.
Comando:
GET /_cluster/health/my_index-000001
Passo 3: Realizar o Rollover Manualmente
3.1 Forçar o Rollover do Índice
Se quisermos forçar a criação de um novo índice de gravação manualmente (sem esperar pelos critérios de tamanho ou idade), usamos o comando abaixo. Isso cria um novo índice (por exemplo, my_index-000002
) e o associa ao alias my_alias
.
Comando:
POST /my_alias/_rollover
Passo 4: Verificar o Novo Índice de Gravação e sua Saúde
4.1 Identificar o Novo Índice de Gravação
Depois de realizar o rollover, verificamos novamente qual índice está associado ao alias my_alias
e está sendo usado para gravar novos dados.
Comando:
GET /_alias/my_alias
4.2 Verificar a Saúde do Novo Índice de Gravação
Verificamos a saúde do novo índice de gravação (por exemplo, my_index-000002
) para garantir que ele está funcionando corretamente.
Comando:
GET /_cluster/health/my_index-000002
Passo 5: Verificar Remoção do Alias de Índices Antigos na Fase "warm"
5.1 Verificar a Configuração do Alias Após a Mudança de Fase
Depois que o índice original se move para a fase "warm", verificamos se ele foi removido do alias my_alias
. Isso deve acontecer automaticamente conforme nossa política ILM.
Comando:
GET /_alias/my_alias
Resumo
- Configurar a política ILM para gerenciar como e quando os índices são movidos ou excluídos.
- Criar o primeiro índice e associar um alias a ele.
- Verificar qual índice está sendo usado para gravação e sua saúde.
- Forçar a criação de um novo índice de gravação manualmente.
- Verificar o novo índice de gravação e garantir que ele está saudável.
- Verificar se o índice antigo foi removido do alias quando se move para uma fase de dados menos importante.
Esses passos ajudam a garantir que seus dados estão sendo gerenciados de forma eficiente e que você sempre está escrevendo em um índice saudável e atualizado.
Referências
Posted on August 2, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.