教程:自定义数据保留策略
编辑教程:自定义数据保留策略编辑
本教程介绍如何将自定义 ILM 策略应用于集成的 data stream。
场景: 您使用 System 集成在两个环境中收集系统指标,一个环境的命名空间为 development
,另一个环境的命名空间为 production
。
目标: 自定义 production
命名空间中 system.network
数据流的 ILM 策略。具体而言,应用内置的 90-days-default
ILM 策略,以便在 90 天后删除数据。
如果您在 8.13 之前的 Elasticsearch 版本上克隆了索引模板以自定义数据保留策略,则必须更新克隆中的索引模板,以便在 Elasticsearch 8.13 或更高版本上使用 ecs@mappings
组件模板。有关分步说明,请参阅更新 Elasticsearch 8.13 之前克隆的索引模板。
步骤 1:查看数据流编辑
Kibana 中的 数据流 视图显示了与给定集成关联的数据流、索引模板和 ILM 策略。
- 导航到 堆栈管理 > 索引管理 > 数据流。
- 搜索
system
以查看与 System 集成关联的所有数据流。 -
选择
metrics-system.network-{namespace}
数据流以查看其关联的索引模板和 ILM 策略。如您所见,数据流遵循 数据流命名方案 并以其类型metrics-
开头。
步骤 2:创建组件模板编辑
为了使您的更改在未来版本中继续应用,您必须将所有自定义索引设置放入组件模板中。组件模板必须遵循数据流命名方案,并以 @custom
结尾
<type>-<dataset>-<namespace>@custom
例如,要为命名空间为 production
的 system.network
数据流创建自定义索引设置,组件模板名称应为
metrics-system.network-production@custom
- 导航到 堆栈管理 > 索引管理 > 组件模板
- 单击 创建组件模板。
- 使用上面的模板设置名称,在本例中为
metrics-system.network-production@custom
。单击 下一步。 -
在 索引设置 下,在
lifecycle.name
键下设置 ILM 策略名称{ "lifecycle": { "name": "90-days-default" } }
-
继续到 审查 并确保您的请求与下图类似。如果是,请单击 创建组件模板。
步骤 3:克隆并修改现有索引模板编辑
现在您已经创建了组件模板,您需要创建一个索引模板来将更改应用于正确的数据流。最简单的方法是复制和修改集成的现有索引模板。
复制索引模板时,请勿更改或删除任何托管属性。这可能会在升级时导致问题。
- 导航到 堆栈管理 > 索引管理 > 索引模板。
- 找到您要克隆的索引模板。索引模板的名称中将包含
<type>
和<dataset>
,但不包含<namespace>
。在本例中,它是metrics-system.network
。 - 选择 操作 > 克隆。
- 将新索引模板的名称设置为
metrics-system.network-production
。 - 更改索引模式以包含命名空间,在本例中为
metrics-system.network-production*
。这确保之前创建的组件模板仅应用于production
命名空间。 - 将优先级设置为
250
。这确保新索引模板优先于匹配索引模式的其他索引模板。 - 在 组件模板 下,搜索并添加在上一步中创建的组件模板。为了确保您的命名空间特定设置优先于其他自定义设置,新模板应该添加到现有
@custom
模板下方。 - 创建索引模板。
步骤 4:滚动数据流(可选)编辑
要确认数据流现在正在使用新的索引模板和 ILM 策略,您可以重复 步骤一,或导航到 开发工具 并运行以下命令
结果应包含以下内容
{ "data_streams" : [ { ... "template" : "metrics-system.network-production", "ilm_policy" : "90-days-default", ... } ] }
新的 ILM 策略仅在创建新索引时才会生效,因此您必须等待滚动发生(通常在 30 天后或索引大小达到 50 GB 时),或者使用 Elasticsearch 滚动 API 强制滚动
POST /metrics-system.network-production/_rollover/
更新 Elasticsearch 8.13 之前克隆的索引模板编辑
如果您在 Elasticsearch 8.13 之前的版本上克隆了索引模板以自定义数据保留策略,则必须更新克隆的索引模板,以便在 Elasticsearch 8.13 或更高版本上添加 ecs@mappings
组件模板。
要更新克隆的索引模板,请执行以下操作
- 导航到 堆栈管理 > 索引管理 > 索引模板。
- 找到您克隆的索引模板。索引模板的名称中将包含
<type>
和<dataset>
。 - 选择 管理 > 编辑。
- 选择 (2) 组件模板
- 在 搜索组件模板 字段中,搜索
ecs@mappings
。 - 单击 +(加号) 图标以添加
ecs@mappings
组件模板。 - 将
ecs@mappings
组件模板移动到@package
组件模板的正下方。 - 保存索引模板。
滚动数据流以应用更改。