《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.6.Datastream (2) https://developer.aliyun.com/article/1228583
创建索引模板
索引模板是后备索引设置,以及 mapping 的主要配置来源,此处不展开延伸。主要设置datastream 相关的部分。
相关命令:
PUT /_index_template/my-data-stream-template { "index_patterns": [ "my-data-stream*" ], "data_stream": { }, "priority": 200, "template": { "settings": { "index.lifecycle.name": "my-data-stream-policy" } } }
注意:
l 定义 data_stream 为一个空的 object ,这是必要的。
l Template 中使用了上一步创建的 ILM 策略 my-data-stream-policy。
此外,还需要注意两点:
l Elasticsearch 有一些内置索引模板如 metric-*-* 和 logs-*-* ,默认优先级 priority 是 100。如果有重名使用,则可以调高优先级,防止被默认的覆盖。
l 索引模板默认将 @timestamp 字段设置为 date 属性。
Kibana 界面:
Stack Management -> Index Management -> Index Templates -> Create template
创建 template,不要创建旧版索引,并打开数据流标签
设置生命周期管理策略,其他设置此处省略,一直下一步至创建完成。
创建 data stream
可以自动利用 template 的匹配模式新增文档创建:
POST /my-data-stream/_doc/ { "@timestamp": "2020-12-06T11:04:05.000Z", "user": { "id": "vlb44hny" }, "message": "Login attempt failed" }
Response:
{ "_index" : ".ds-my-data-stream-000001", "_type" : "_doc", "_id" : "8ZadZXkBkhA9X9yUbI17", "_version" : 1, "result" : "created", "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "_seq_no" : 0, "_primary_term" : 1 }
也可以直接 PUT 创建一个空的 data stream。
PUT /_data_stream/my-data-stream
删除
删除命令:
DELETE /_data_stream/my-data-stream
删除数据流会将数据流的后备索引一起删除。
《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.6.Datastream (4) https://developer.aliyun.com/article/1228580