Gestione dei dati delle serie temporali in Amazon OpenSearch Service con flussi di dati - Amazon OpenSearch Service

Gestione dei dati delle serie temporali in Amazon OpenSearch Service con flussi di dati

Un flusso di lavoro tipico per la gestione dei dati delle serie temporali comporta più passaggi, ad esempio la creazione di un alias di indice di rollover, la definizione di un indice di scrittura e la definizione di mappatura e impostazioni comuni per gli indici di supporto.

I flussi dei dati in Amazon OpenSearch Service aiutano a semplificare questo processo di configurazione iniziale. I flussi di dati funzionano immediatamente per i dati basati sul tempo, ad esempio i log delle applicazioni che in genere sono di natura aggiuntiva.

I flussi dei dati richiedono OpenSearch 1.0 o versioni successive. La documentazione completa per la funzione è disponibile nella documentazione di OpenSearch.

Nozioni di base sui flussi di dati

Un flusso di dati è composto internamente da più indici di supporto. Le richieste di ricerca vengono instradate a tutti gli indici di supporto, mentre le richieste di indicizzazione vengono instradate all'indice di scrittura più recente.

Fase 1: Creazione di un modello di indice

Per creare un flusso dei dati, è necessario innanzitutto creare un modello di indice che configura un set di indici come flusso dei dati. L'oggetto data_stream indica che si tratta di un flusso di dati e non di un modello di indice normale. Il modello di indice corrisponde al nome del flusso di dati:

PUT _index_template/logs-template { "index_patterns": [ "my-data-stream", "logs-*" ], "data_stream": {}, "priority": 100 }

In questo caso, ogni documento inserito deve avere un campo @timestamp. È inoltre possibile definire il proprio campo timestamp personalizzato come proprietà nell'oggetto data_stream.

Fase 2: Creazione di un flusso di dati

Dopo aver creato un modello di indice, è possibile avviare direttamente l'importazione di dati senza dover creare un flusso di dati.

Perché abbiamo un modello di indice corrispondente con un data_stream, OpenSearch crea automaticamente il flusso di dati:

POST logs-staging/_doc { "message": "login attempt failed", "@timestamp": "2013-03-01T00:00:00" }

Fase 3: Importazione di dati nel flusso di dati

Per importare i dati in un flusso di dati, è possibile utilizzare le API di indicizzazione regolari. Assicurarsi che ogni documento indicizzato abbia un campo di timestamp. Se si prova a inserire un documento che non dispone di un campo timestamp, viene visualizzato un errore.

POST logs-redis/_doc { "message": "login attempt", "@timestamp": "2013-03-01T00:00:00" }

Fase 4: Ricerca in un flusso di dati

È possibile eseguire una ricerca in un flusso di dati proprio come in un indice normale o in un alias di indice. L'operazione di ricerca si applica a tutti gli indici di supporto (tutti i dati presenti nel flusso).

GET logs-redis/_search { "query": { "match": { "message": "login" } } }

Fase 5: Rollover di un flusso di dati

È possibile configurare una policy Index State Management (ISM) per automatizzare il processo di rollover per il flusso di dati. La policy ISM viene applicata agli indici di supporto al momento della loro creazione. Quando si associa una policy a un flusso dei dati, questa influisce solo sugli indici di supporto futuri di tale flusso dei dati. Inoltre, non è necessario fornire l'impostazione rollover_alias, perché la policy ISM deduce queste informazioni dall'indice di supporto.

Nota

Se si esegue il rollover di un indice di supporto sull'archiviazione a freddo, OpenSearch rimuove questo indice dal flusso di dati. Anche se si sposta l'indice di nuovo su UltraWarm, l'indice rimarrà indipendente e non sarà parte del flusso di dati originale.

Fase 6: Gestione dei flussi di dati in OpenSearch Dashboards

Per gestire i flussi di dati da OpenSearch Dashboards, aprire OpenSearch Dashboards, scegliere Gestione degli indici, selezionare Indici o Indici gestiti da policy.

Fase 7: Eliminazione di un flusso di dati

L'operazione di eliminazione elimina prima gli indici di supporto di un flusso dei dati e quindi elimina il flusso dei dati stesso.

Per eliminare un flusso di dati e tutti i relativi indici di supporto nascosti:

DELETE _data_stream/name_of_data_stream