教程:自定义数据保留策略
编辑教程:自定义数据保留策略编辑
本教程介绍如何将自定义 ILM 策略应用于集成的 Data Stream。
场景: 您有两个环境中使用系统集成收集系统指标的 Elastic Agent,一个环境的命名空间为 development
,另一个环境的命名空间为 production
。
目标: 自定义 production
命名空间中 system.network
数据流的 ILM 策略。具体来说,应用内置的 90-days-default
ILM 策略,以便在 90 天后删除数据。
步骤 1:查看数据流编辑
Kibana 中的 数据流 视图显示了与给定集成关联的数据流、索引模板和 ILM 策略。
- 导航到 堆栈管理 > 索引管理 > 数据流。
- 搜索
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 策略,您可以重复 步骤 1,或导航到 开发工具 并运行以下命令:
结果应包括以下内容:
{ "data_streams" : [ { ... "template" : "metrics-system.network-production", "ilm_policy" : "90-days-default", ... } ] }
新的 ILM 策略仅在创建新索引时生效,因此您必须等待滚动发生(通常在 30 天后或索引大小达到 50 GB 时),或者使用 Elasticsearch 滚动 API 强制滚动。
POST /metrics-system.network-production/_rollover/