创建具有生命周期的数据流
按照以下步骤创建配置了生命周期的 Elasticsearch 数据流。了解如何为数据设置保留期以及如何检索生命周期配置详情。
数据流需要匹配的 索引模板。你可以通过在索引模板中设置 lifecycle 字段来配置数据流生命周期,其方式与映射(mappings)和索引设置相同。你可以定义一个设置了生命周期的索引模板,如下所示
- 包含
data_stream对象以启用数据流。 - 在模板部分定义生命周期,或包含一个定义了生命周期的可组合模板。
- 使用高于
200的优先级,以避免与内置模板发生冲突。请参阅 避免索引模式冲突。
你可以使用 创建索引模板 API。
PUT _index_template/my-index-template
{
"index_patterns": ["my-data-stream-test"],
"data_stream": { },
"priority": 500,
"template": {
"lifecycle": {
"data_retention": "7d"
}
},
"_meta": {
"description": "Template with data stream lifecycle"
}
}
- 在此情况下,索引模板将应用于名为
my-data-stream-test的数据流。你可以选择在索引模式中使用通配符 (*),以匹配所有名称符合指定模式的数据流(无论是手动创建还是使用索引请求创建)。
你可以通过以下方式创建数据流
通过使用 创建数据流 API 手动创建流。流名称仍必须匹配你模板中的一个索引模式。
PUT _data_stream/my-data-stream-test通过针对该流名称的 索引请求。该名称必须匹配你索引模板中的一个索引模式。
PUT my-data-stream-test/_bulk{ "create":{ } } { "@timestamp": "2099-05-06T16:21:15.000Z", "message": "192.0.2.42 - - [06/May/2099:16:21:15 +0000] \"GET /images/bg.jpg HTTP/1.0\" 200 24736" } { "create":{ } } { "@timestamp": "2099-05-06T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 +0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }你可以直接在 Kibana 的 流 (Streams) UI 中创建经典流。 - 使用导航菜单或 全局搜索字段 前往 流 (Streams) 页面。
- 在右上角,选择 创建经典流 (Create classic stream)。
- 选择你要使用的索引模板,为你的流命名,然后选择 创建 (Create)。
你可以使用 获取数据流生命周期 API 查看你的数据流的生命周期,并使用 解释数据流生命周期 API 查看每个支持索引的准确状态。
GET _data_stream/my-data-stream-test/_lifecycle
结果如下所示
{
"data_streams": [
{
"name": "my-data-stream-test",
"lifecycle": {
"enabled": true,
"data_retention": "7d",
"effective_retention": "7d",
"retention_determined_by": "data_stream_configuration"
}
}
],
"global_retention": {}
}
- 你的数据流名称。
- 显示此数据流是否启用了数据流生命周期。
- 用户配置的该数据流中索引数据的保留期。
- 数据流生命周期将应用的保留期。这意味着该数据流中的数据将至少保留 7 天。此后,Elasticsearch 可以自行决定将其删除。
如果你想查看关于数据流生命周期如何应用于各个支持索引的更多信息,请使用 解释数据流生命周期 API
GET .ds-my-data-stream-test/_lifecycle/explain
提示
你可以在数据流名称中使用通配符 (*),以检索匹配该模式的所有数据流的生命周期状态。
结果如下所示
{
"indices": {
".ds-my-data-stream-test-2023.04.19-000001": {
"index": ".ds-my-data-stream-test-2023.04.19-000001",
"managed_by_lifecycle": true,
"index_creation_date_millis": 1681918009501,
"time_since_index_creation": "1.6m",
"lifecycle": {
"enabled": true,
"data_retention": "7d"
}
}
}
}
- 支持索引的名称。
- 如果它是由内置的数据流生命周期管理的。
- 自索引创建以来的时间。
- 应用于此支持索引的生命周期配置。