Os índices de rastreamento do ElasticSuite causam problemas com o Elasticsearch
Este artigo fala sobre a questão de problemas de memória de Elasticsearch causados por índices de rastreamento produzidos pelo plug-in ElasticSuite.
Produtos e versões afetados
As versões do ElasticSuite anteriores à 2.8.0 não podem limpar periodicamente os índices de rastreamento.
As versões do ElasticSuite anteriores à 2.9.8/2.10.7 estão armazenando índices de rastreamento em índices diários, o que faz com que o número de índices abertos aumente.
Problema
Se o plug-in de terceiros ElasticSuite estiver instalado, você pode ter problemas de memória de Elasticsearch e o serviço de Elasticsearch pode travar devido aos índices de rastreamento do ElasticSuite. Os sintomas incluem:
- O Elasticsearch trava sem erros de memória.
- Ao executar um comando de integridade
curl -m1 localhost:9200/_cluster/health?pretty
oucurl -m1 elasticsearch.internal:9200/_cluster/health?pretty
(para contas iniciais) há centenas ou milhares deunassigned_shards
- O desempenho do Elasticsearch ou do site foi gravemente degradado.
- "Nenhum nó ativo encontrado no cluster" em erros de implantação ou log de Elasticsearch.
- "Rejeitando atualização de mapeamento para [<*>_ tracking_log_event _<*>]" em erros de implantação ou log.
Causa
O ElasticSuite tem um novo recurso que cria índices de rastreamento. Esses índices de rastreamento registram quais termos de pesquisa são os mais usados, quais termos geram mais faturamento e quais termos estão levando a uma página sem resultados, para que os comerciantes possam criar sinônimos para corrigi-los. Parece que não exclui os índices de rastreamento, portanto, o Elasticsearch fica sem recursos e falha.
Solução
Atualize sua versão do ElasticSuite para limpar os índices de rastreamento periodicamente
Depois de atualizar o plug-in ElasticSuite para uma versão superior a 2.8.0, você pode configurar uma limpeza periódica dos índices.
Ir para Lojas > Configuração > Rastreamento > Configuração Global > Atraso de Retenção
O período de retenção padrão é de 365 dias. Você pode reduzi-la para 30 ou 15 dias.
Atualize sua versão do ElasticSuite para usar índices mensais em vez de índices diários
Depois de atualizar o plug-in ElasticSuite para a versão > 2.9.8/2.10.7, os índices de rastreamento serão mensais.
Você ainda pode reduzir o período de retenção:
Ir para Lojas > Configuração > Rastreamento > Configuração Global > Atraso de Retenção
O período de retenção padrão é de 12 meses (gerará 12 índices). Você pode reduzi-lo para 3 ou 6 meses.
Usar um cronjob para limpar os dados dos índices de rastreamento
Crie um trabalho cron para excluir os índices de rastreamento. Esse comando exclui índices criados no mês passado:
curl -XDELETE localhost:9200/<name in index> * **\_tracking\_log** * _$(date
+'%Y%m' -d 'last month')*
Se você deseja excluir índices em uma frequência de tempo definida, crie um trabalho cron referenciando os seguintes artigos em nossa documentação do desenvolvedor: