Cargas de trabalho de dados de série temporal no Amazon OpenSearch Service podem apresentar desafios únicos para as organizações, especialmente ao lidar com conjuntos de dados em constante crescimento. Muitos clientes enfrentam índices únicos muito carregados que levam a alta latência de consulta, desempenho degradado e custos desnecessários. Neste publish, mostramos como implementar fluxos de dados com Gerenciamento de estado de índice (ISM) no Amazon OpenSearch Service. Essa abordagem gerencia automaticamente o ciclo de vida dos dados de série temporal e otimiza o desempenho e os custos. Os fluxos de dados distribuem os dados recebidos por vários índices de apoio, ajudando a reduzir gargalos de índice único, enquanto as políticas ISM automatizam a rolagem, a retenção e a classificação em níveis de armazenamento para ajudar a gerenciar os custos.
O desafio
Embora o Amazon OpenSearch Service forneça há muito tempo ferramentas como Index State Administration (ISM) para gerenciamento de dados de séries temporais, muitas organizações ainda lutam para implementar padrões ideais para seus conjuntos de dados em constante crescimento. Os desafios comuns incluem:
- Degradação do desempenho devido ao crescimento do índice: À medida que os índices únicos crescem de forma ilimitada, a latência da consulta aumenta, você pode achar os tamanhos dos fragmentos mais difíceis de gerenciar e pode sentir pressão nos recursos do cluster.
- Sobrecarga de gerenciamento de índice handbook: sem automação, você deve investir um esforço operacional significativo para gerenciar os ciclos de vida, a substituição e a retenção do índice.
- Configuração complexa: A coordenação handbook de modelos de índice, aliases e políticas ISM pode ser propensa a erros.
- Utilização ineficiente de recursos: Todos os dados que residem em armazenamento quente, independentemente dos padrões de acesso, acarretam custos desnecessariamente elevados.
Visão geral da solução
Conforme ilustrado na Figura 1, nossa solução usa fluxos de dados do Amazon OpenSearch Service combinados com Index State Administration para distribuir automaticamente dados em vários índices e gerenciar o ciclo de vida dos dados. UM fluxo de dados é uma camada de abstração que simplifica a ingestão de dados de séries temporais. Ele fornece um endpoint único e consistente para gravações enquanto gerencia automaticamente vários índices de apoio nos bastidores. Em vez de gravar diretamente em índices individuais, os aplicativos gravam no fluxo de dados, que roteia os dados para o índice de apoio apropriado.
Veja como funciona:
- Os fluxos de dados fornecem um único índice de gravação quando os dados são ingeridos pela primeira vez, o que pode ajudar a agilizar a ingestão de dados de séries temporais.
- Quando o índice de apoio envelhece ou cresce para atender aos critérios definidos, o ISM executa automaticamente a operação de rollover.
- Você pode usar políticas ISM para fazer a transição automática de seus dados antigos para diferentes níveis de armazenamento com base nas regras que você outline e configura.
- Você pode automatizar todo o processo por meio de regras definidas no modelo de índice e nas políticas ISM.

Figura 1 — Fluxo de trabalho de dados de série temporal usando fluxos de dados do Amazon OpenSearch Service
Os dados são ingeridos em um índice de acordo com a configuração do modelo de índice. Com o tempo, um fluxo de dados cria novos índices automaticamente. O Amazon OpenSearch Service gerencia o ciclo de vida, fazendo a transição dos dados do armazenamento quente para o armazenamento quente de acordo com a configuração da política ISM que você definir.
Quando usar esta solução
Essa abordagem é very best quando:
Etapas de implementação
Pré-requisitos
Antes de começar, certifique-se de ter o seguinte:
As etapas a seguir explicam a implementação de uma solução de dados de série temporal, usando um banco de dados de logs de servidor net como exemplo. Você pode executar essas etapas usando qualquer um dos seguintes:
Para esta postagem, usamos o Dev Instruments Console nos painéis OpenSearch. Para acessá-lo:
- Faça login nos painéis do OpenSearch.
- Navegue até Dev Instruments (geralmente encontrado no menu em Administration).
- Use o console interativo para executar os comandos.
Seção 1: Criar fluxo de dados
Primeiro, crie uma política ISM que defina as regras para substituição de índice e transições de nível de armazenamento. A política a seguir outline dois estados (quente e quente) e outline regras para quando os índices fazem a transição entre eles. A política aciona um rollover quando a contagem de documentos atinge 1.000 e transfer os índices para armazenamento quente após 2 minutos.
Observação: As configurações de rollover e transições são apenas para fins de demonstração.
- Crie um modelo de índice para o fluxo de dados
Um modelo de índice corresponde aos índices por um padrão regex e aplica configurações e esquemas predefinidos na criação do índice. O modelo a seguir mapeia o campo de carimbo de knowledge/hora obrigatório para o fluxo de dados e associa índices correspondentes à política ISM que criamos.
- Criar fluxo de dados
Nesta etapa, você cria o fluxo de dados que manipula os dados da série temporal. O fluxo de dados fornece um destino de gravação único e unificado para ingestão de dados enquanto gerencia vários índices de apoio nos bastidores.
- Validar mapeamento de políticas ISM
Verifique se a política ISM está corretamente associada ao fluxo de dados criado na etapa anterior. Esta etapa de validação confirma que o gerenciamento automático do ciclo de vida funciona conforme o esperado.
Saída
Confirme se policy_id corresponde ao nome da política ISM que você criou anteriormente e que habilitado está definido para verdadeiro.

Seção 2: Ingestão de dados no fluxo de dados
Em cenários reais, os dados de log normalmente são coletados e transmitidos diretamente para fluxos de dados do Amazon OpenSearch Service. No entanto, para demonstrar cenários de rollover e migração nesta postagem, adotamos uma abordagem diferente. Primeiro carregamos dados de log de amostra em um índice padrão do OpenSearch Service e, em seguida, reindexamos e migramos esses dados para um fluxo de dados.
Para começar, execute o comandos no console do Dev Instruments para criar um índice e preenchê-lo com dados de log de amostra.
- Reindexar dados existentes
Esta etapa mostra como migrar dados existentes em um índice tradicional para o novo fluxo de dados. A operação de reindexação inclui um script que confirma que cada documento possui um campo de carimbo de knowledge/hora válido (timestamp). Documentos sem campo de carimbo de knowledge/hora são ignorados pela operação de reindexação para manter a integridade dos dados.
- Monitorar a substituição do índice
Conforme mostrado na Figura 2, após a reindexação, monitore a criação de índices de apoio. A política ISM avalia os índices a cada 5 minutos por padrão. A rolagem ocorre com base nas condições definidas (1.000 documentos ou 2 minutos de idade). Verifique isso usando o seguinte comando.
A saída deve ser semelhante a esta:

Você também pode validar isso no OpenSearch Dashboards navegando até Index Administration, Information streams, webserver-logs-data-stream.

*Figura 2 — Visualização combinada da saída CLI _cat/indices e detalhes do fluxo de dados do OpenSearch Dashboards, mostrando uma substituição de índice bem-sucedida em vários índices de apoio*
- Validar transição quente
Verifique se os índices estão fazendo a transição correta do armazenamento quente para o armazenamento quente com base nas condições da política ISM. Você pode monitorar isso por meio de painéis OpenSearch ou consultas de API no console Dev Instruments.

- Verifique os dados ingeridos
Execute uma pesquisa no fluxo de dados para confirmar se seus documentos foram indexados com sucesso:
Saída
Você deverá ver seus documentos assimilados retornados no hits.hits matriz, com o carimbo de knowledge/hora campo e outros campos definidos no modelo de índice. Um diferente de zero hits.whole.valor confirma que os dados estão fluindo corretamente através do fluxo de dados.

- Limpar
Se necessário, estes comandos removem o fluxo de dados e seu modelo.
Exclua os dados de amostra.
Conclusão
Os fluxos de dados do OpenSearch com ISM oferecem recursos para gerenciar dados de séries temporais em escala. As organizações que implementam essa abordagem podem obter um melhor desempenho de consulta por meio de carga distribuída e índices de apoio menores e baseados em tempo que suportam consultas eficientes de intervalo de tempo. O gerenciamento automatizado de índices reduz a sobrecarga operacional. A divisão em níveis de armazenamento transfer automaticamente os dados antigos para o armazenamento UltraWarm, o que reduz significativamente os custos sem sacrificar o acesso aos dados históricos. Combinada com melhor escalabilidade para conjuntos de dados crescentes, esta solução simplifica o gerenciamento de índices e, ao mesmo tempo, oferece melhor desempenho e uma infraestrutura mais econômica e de fácil manutenção.