數據流可以跨多個索引存儲實現數據時間序列的增加。而在使用數據流之前,需要創建索引模板,通過模板配置數據流后備索引的結構,將數據準確快速地寫入索引中。本文介紹如何創建索引模板。
前提條件
已創建7.10內核增強版的Elasticsearch(簡稱ES)實例。詳細信息,請參見創建阿里云Elasticsearch實例。
使用限制
僅7.10內核增強版Elasicsearch實例支持索引模板管理功能。
寫入到數據流中的數據需要為日志、事件、指標或其他持續生成的數據。
寫入到數據流中的每個文檔都需要包含一個@timestamp字段,否則寫入會報錯。
如果源數據中沒有@timestamp字段數據,可使用ingest pipeline指定_ingest.timestamp獲取元數據值,從而引入@timestamp字段數據。
建議在索引模板中為@timestamp字段指定映射。如果不指定,該字段會映射為Elasticsearch中的date或者date_nanos類型的字段。
內核增強版實例默認提供低優先級
aliyun_default_index_template
模板供索引模式[*]匹配,以便降低日志場景應用成本。應用該模板將開啟字段預排序(index.sort.field)能力,提高時序數據搜索能力,nested
類型字段不支持預排序,建議在模板中關閉。
操作步驟
頻繁的Put Mapping將消耗大量的計算資源,對托管服務穩定性影響極大。建議您寫數據前提前定義索引模板,降低Put Mapping操作。
- 登錄阿里云Elasticsearch控制臺。
- 在左側導航欄,單擊Elasticsearch實例。
- 進入目標實例。
- 在頂部菜單欄處,選擇資源組和地域。
- 在Elasticsearch實例中單擊目標實例ID。
在左側導航欄,選擇 。
單擊索引模板管理頁簽。
單擊創建索引模板。
可選:在創建索引模板面板,配置索引生命周期策略。
說明如果您無需對數據流后備索引進行生命周期策略管理,單擊跳過此步即可。
關鍵參數
說明
索引生命周期策略
新建索引生命周期策略:創建新的索引生命周期策略。
選擇已有索引生命周期策略:選擇集群中已存在的生命周期策略。
策略名稱
選擇新建索引生命周期策略時,需要自定義輸入。
選擇已有索引生命周期策略時,需要在下拉列表中選擇集群中已存在的生命周期策略。對應策略的其他配置會自動應用到當前索引模板中,您可在此基礎上進行修改。
熱階段
默認開啟熱階段,不可關閉。
開啟滾動更新
建議配置索引生命周期滾動策略,通過ILM自動管理數據流后備索引,實現云端托管空間最優化。
ILM默認10分鐘檢測一次符合策略標準的索引。在使用過程中您可能會發現索引已滿足Rollover條件,但實際沒有立即觸發滾動,這主要與ILM檢查周期有關,可通過indices.lifecycle.poll_interval參數修改檢測周期。
如果不配置索引滾動策略,索引數據會全量存儲在云托管服務Indexing Service中,將會增加云托管費用。
取消托管時間
默認為3天,3天后自動退出Indexing Service寫入托管服務,減少計費開銷。如果您設置的時長超過冷階段或刪除階段的開始時間,索引進入相應階段后會自動取消托管。取消托管后索引變成只讀,索引將不再通過Indexing Service進行寫入加速。
重要長期數據托管會產生索引托管存儲費用,建議根據業務情況,在索引不再有寫入后設置取消托管。為保證托管服務穩定性,云端對寫入托管時長及托管Shard數有相關限制,詳細信息請參見OpenStore存儲引擎介紹。
冷階段
OpenStore存儲的版本為自定義冷熱存儲時,支持開啟并配置冷階段。
OpenStore存儲的版本為智能混合存儲時,無冷階段。
OpenStore存儲
開啟冷階段后,才可開啟OpenStore存儲。當您面臨查詢復雜度大、海量存儲成本高的問題時,建議開啟OpenStore存儲,詳細信息請參見通過OpenStore自定義冷熱存儲實現海量數據存儲。使用該功能需要注意以下幾點:
對于阿里云Elasicsearch 7.10內核增強版Indexing Service系列實例,只有在新購時開啟了OpenStore自定義冷熱存儲功能,才能配置OpenStore相關信息。
如果您開啟了索引生命周期中的冷階段和OpenStore存儲,那么到達索引遷移時間后,系統將自動遷移數據至冷數據節點及OpenStore存儲。
刪除時間
支持設置索引的刪除時間。對于OpenStore智能混合存儲,在索引刪除前,Elasticsearch會根據索引的讀寫頻率進行數據智能存儲分層。
單擊保存并下一步,在索引模板配置向導中,配置索引模板信息。
參數
說明
模板名稱
自定義輸入索引模板名稱。
索引模式
定義索引模式。支持通配符(*)表達式匹配數據流及索引名稱,不允許使用空格和特殊字符:
\
、/
、?
、"
、<
、>
和|
。說明Kibana中創建索引模式時,只能匹配前100個索引。
創建數據流
開啟數據流模式。如果未開啟,索引模式無法生成數據流。詳細信息,請參見Data stream。
優先級
定義模板優先級,數值越大,優先級越高。
索引生命周期策略
如果您已在上一步創建了索引生命周期策略,系統直接在此處引用您創建的策略,且不能更改;如果您未在上一步創建生命周期策略,可以根據需求選擇不填或者填入集群中已存在的生命周期策略名稱,且只能填入一個策略名稱。關于生命周期策略的詳細信息,請參見ILM。
內容模板配置
配置索引Settings、Mappings、Aliases和組合內容模板。
重要寫入到數據流中的每個文檔都要求包含一個@timestamp字段,建議在索引模板中為@timestamp字段指定映射。如果不指定,該字段會映射為Elasticsearch中的date或者date_nanos類型的字段。
配置格式嚴格按照Elastic官方配置。
本文使用的代碼樣例為:
Settings
{ "index.number_of_replicas": "1", "index.number_of_shards": "5" }
Mappings
{ "properties": { "like": { "type": "keyword" }, "name": { "type": "text" }, "age": { "type": "integer" }, "email": { "type": "keyword" } } }
Aliases
{ "aliases": { "demo": { } } }
組合內容模板:
component-openstore-index-template:OpenStore自定義冷熱存儲的組合模板。
component-hybrid-openstore-index-template:OpenStore智能混合存儲的組合模板。
單擊確認。
已創建的索引模板會顯示在索引模板列表中。
首次進入索引模板管理頁面,可以查看阿里云Elasticsearch默認創建的索引模板,建議不要修改這些默認模板的配置。
說明索引模板的內容模板表示該模板引用的內容模板,引用內容模板可生成組合模板。單擊對應的內容模板名稱,可直接跳轉至內容模板管理頁面,管理對應的內容模板,詳細信息請參見內容模板管理。
在索引模板列表中,單擊目標索引模板操作列中的修改,修改當前已創建的索引模板。
直接單擊對應的索引模板名稱或索引生命周期策略,也可以查看和修改索引模板。