本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
數據流管理功能可以實現跨多索引存儲,且僅追加時間序列數據,同時為請求提供唯一的命名資源。本文介紹如何創建數據流、查看或刪除數據流、滾動更新數據流等。
背景信息
數據流管理功能適用于日志、事件、指標和其他連續生成數據的場景。如果您將索引和請求直接提交到數據流,數據流會自動將請求路由到存儲數據流數據的后備索引上。您可以使用索引生命周期管理功能(ILM)來管理后備索引,將舊的后備索引移動到低價的硬件上,并刪除不需要的索引,從而幫助您降低成本及開銷。
前提條件
已購買阿里云Elasticsearch 7.10日志增強版Indexing Service系列,具體操作請參見創建阿里云Elasticsearch實例。
數據場景為日志、事件、指標或其他持續生成數據的場景。
已創建完可匹配數據流的索引模板。
寫入到數據流中的每個文檔都要求包含一個@timestamp,映射為date或者date_nanos類型的字段,請確保源端數據存在@timestamp字段數據,否則寫入會報錯。
說明如果源數據中沒有@timestamp字段數據,可使用ingest pipeline指定_ingest.timestamp獲取元數據值,從而引入@timestamp字段數據。
使用限制
僅阿里云Elasticsearch 7.10日志增強版Indexing Service實例支持數據流管理功能。
注意事項
Indexing Service按照寫入托管索引總大小和寫入流量進行按量計費,業務上建議使用數據流(Data Stream)和索引生命周期管理(ILM)滾動策略實現云端托管空間最優化。
Indexing Service托管索引默認3天將自動取消托管,請根據具體業務場景評估取消托管時間,支持在控制臺上手動關閉和API關閉。
Indexing Service場景,索引處于托管狀態,不兼容ILM Action中的shrink操作,建議當索引處于未托管狀態時,執行shrink配置。詳細信息,請參見ILM-shrink。
Indexing Service日志增強版實例與用戶集群進行數據同步時,依賴于apack/cube/metadata/sync任務(可通過
GET _cat/tasks?v
命令獲取該任務信息),不建議手動清理該任務。如果被清理,請盡快使用POST /_cube/meta/sync
命令恢復,否則會影響業務寫入。頻繁的Put Mapping將消耗大量的計算資源,對托管服務穩定性影響極大。建議您寫數據前提前定義索引模板,降低Put Mapping操作。
基本概念
數據流及后備索引
數據流由一個或多個自動生成的后備索引組成,每個數據流都需要一個匹配的索引模板,該模板包含用于配置數據流的后備索引的映射和設置。相同的索引模板可用于多個數據流,但不能刪除數據流正在使用的索引模板。
讀/寫請求處理
當您向數據流提交讀取請求時,該數據流會將請求路由到其他所有后備索引上。
當您向數據流提交寫請求時,該請求將會落盤在最近創建的后備索引上。數據流只會將新文檔添加到此索引上,即使您直接將請求發送到其他后備索引上,也不會將新文檔添加到其他后備索引上。
滾動更新Rollover
僅追加
數據流適用于很少有更新的時序場景,不支持將文檔的更新或刪除請求直接發給數據流,可以通過update by query或者delete by query API進行文檔的更新或刪除;也可以直接向文檔所在的后備索引發送請求,進行文檔的update or delete。
創建數據流
- 登錄阿里云Elasticsearch控制臺。
- 在左側導航欄,單擊Elasticsearch實例。
- 進入目標實例。
- 在頂部菜單欄處,選擇資源組和地域。
- 在Elasticsearch實例中單擊目標實例ID。
在左側導航欄,選擇 。
單擊數據流管理頁簽。
單擊創建數據流。
在創建數據流面板,單擊預覽已有索引模板,根據對應的索引模板,輸入可匹配索引模板的數據流名稱。
重要創建數據流之前必須存在數據流可匹配的索引模板,該模板包含用于配置數據流的后備索引映射及設置。
數據流名稱支持以短劃線(-)結尾,不支持通配符星號(*)。
單擊確定,系統會自動生成數據流及后備索引。
每個數據流創建成功后,都會自動生成一個統一格式的后備索引,格式如下。
.ds-<data-stream>-<yyyy.MM.dd>-<generation>
參數
說明
.ds
隱藏索引名統一標識,數據流生成的后備索引名,默認均以.ds開頭。
<data-stream>
數據流名稱。
<yyyy.MM.dd>
后備索引創建日期。
<generation>
每個數據流都會生成一個六位數,默認從000001開始的累積整數值,generation值更大的后備索引包含更多新數據。
查看數據流信息
在數據流管理頁面,單擊對應數據流名稱,查看該數據流的后備索引名稱、索引狀態、存儲大小、創建時間、當前生命周期階段以及寫入托管狀態。
說明單擊對應的后備索引名稱,可進入Kibana控制臺的索引監控頁面,查看索引的監控詳情。
單擊對應數據流右側的查看,在查看數據流頁面,查看數據流名稱、數據流狀態、索引數量、索引模板、生命周期策略及存儲空間。
數據流狀態包含GREEN、YELLOW和RED,含義如下:
GREEN:數據流支持的索引所有分片均已分配。
YELLOW:數據流支持的索引主分片均已分配,但存在副本分片未分配。
RED:數據流支持的索引存在主分片未分配,會導致某些數據不可用。
查看索引托管信息
在數據流管理頁面,您可以查看索引托管的相關信息。
參數 | 說明 |
云端托管索引總大小 | 當前時刻,正處于云端寫入托管中的索引總大小。 重要 云端托管索引總大小為實時變化數值,不是歷史索引總大小。 |
索引個數 | 當前時刻,正處于云端寫入托管中的索引總個數。 該數值為當前系統中的實時數值。 重要 索引個數為實時變化數值,不是歷史索引總個數。 |
寫入托管狀態 |
說明
|
滾動更新數據流
在數據流管理頁面,單擊對應數據流右側的手動滾動更新。
在彈出的對話框中,單擊確認。
滾動生成的新的后備索引會默認在云端Indexing Service進行寫入托管,舊的后備索引將自動關閉寫入托管。
刪除數據流
刪除數據流的同時會刪除其對應的后備索引,且刪除后不可恢復,請謹慎操作。
在數據流管理頁面,單擊對應數據流右側的刪除。
在彈出的對話框中,單擊確認。