教程:自定义数据保留策略
编辑教程:自定义数据保留策略
编辑本教程介绍如何将自定义 ILM 策略应用于集成的的数据流。
场景: 您有两个环境中的 Elastic Agent 正在使用 System 集成收集系统指标——一个命名空间为 development
,另一个命名空间为 production
。
目标: 自定义 production
命名空间中 system.network
数据流的 ILM 策略。具体来说,应用内置的 90-days-default
ILM 策略,以便在 90 天后删除数据。
如果您克隆了索引模板以自定义 Elasticsearch 8.13 之前版本的数据保留策略,则必须更新克隆中的索引模板,以便在 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
组件模板的正下方。 - 保存索引模板。
滚动数据流以应用更改。