使用資料串流管理 Amazon OpenSearch Service 中的時間序列資料 - Amazon OpenSearch Service

使用資料串流管理 Amazon OpenSearch Service 中的時間序列資料

管理時間序列資料的典型工作流程包含多個步驟,例如建立變換索引別名、定義寫入索引,以及定義備份索引的通用映射和設定。

Amazon OpenSearch Service 中的資料串流有助於簡化此初始設定程序。資料串流可立即用於以時間為基礎的資料,例如通常只附加的應用程式日誌。

資料串流需要 OpenSearch 1.0 或更高版本。如需該功能的完整文件,請參閱 OpenSearch 文件

資料串流入門

資料串流內部由多個後備索引組成。搜尋請求會路由至所有後備索引,而索引請求則會路由至最新的寫入索引。

步驟 1:建立索引範本

若要建立資料串流,首先需要建立一個索引範本,設定一組索引作為資料串流。data_stream 物件表示它是一個資料串流,而不是一個常規的索引範本。索引模式與資料串流的名稱匹配:

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

在這種情況下,每個擷取的文件都必須有 @timestamp 欄位。您也可以將自己的自訂時間戳記欄位定義為 data_stream 物件中的一個屬性。

步驟 2:建立資料串流

建立索引範本之後,您可以直接開始擷取資料,而不需要建立資料串流。

因為我們有一個與 data_stream 物件匹配的索引範本,所以 OpenSearch 會自動建立資料串流:

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

步驟 3:將資料擷取至資料串流

若要將資料擷取至資料串流,您可以使用一般索引 API。確保您索引的每個文件都有一個時間戳記欄位。如果您嘗試擷取沒有時間戳記欄位的文件,會收到錯誤。

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

步驟 4:搜尋資料串流

您可以像搜尋一般索引或索引別名一樣搜尋資料串流。搜尋操作適用於所有後備索引 (串流中存在的所有資料)。

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

步驟 5:變換資料串流

您可以設定索引狀態管理 (ISM)政策來自動化資料串流的變換程序。ISM 政策會在建立後備索引時便套用至它們。當您將政策與資料串流產生關聯時,它只會影響該資料串流的未來後備索引。您也不需要提供 rollover_alias 設定,因為 ISM 政策會從後備索引中推斷此資訊。

注意

如果您將後備索引變換到冷儲存,OpenSearch 會從資料串流中移除此索引。即使您將索引移回 UltraWarm,索引會保持獨立,而不是原始資料串流的一部分。

步驟 6:管理 OpenSearch Dashboards 中的資料串流

若要在 OpenSearch Dashboards 中管理資料串流,請開啟 OpenSearch Dashboards,選擇 Index Management (索引管理),選取 Indices (索引) 或 Policy managed indices (政策管理的索引)。

步驟 7:刪除資料串流

刪除操作首先刪除資料串流的後備索引,然後刪除資料串流本身。

若要刪除資料串流及其所有隱藏的後備索引:

DELETE _data_stream/name_of_data_stream