作者:来自 Elastic Edward Lewis

在 Elastic Streams 中与保留策略和数据层级一起配置降采样,并提供实时预览和验证。不再需要编辑 ILM 或生命周期 JSON。
从 Elastic 9.4(正式发布版)开始,Streams 允许你直接在 Retention 选项卡中查看和配置降采样,同时查看保留周期、数据层级以及摄取上下文。打开一个 stream,即可查看它如何随时间演变,并在同一个位置完成修改。
Elasticsearch 已经通过 ILM 策略与数据流生命周期 支持降采样功能一段时间了。但配置过程意味着你需要离开当前查看的 stream,找到对应的 policy 或 lifecycle 定义,编辑 JSON,并希望配置的时间间隔有效。现在,这种来回切换已经不再需要。
基于 ILM 的 Streams
ILM 将降采样与阶段(phase)绑定。每个阶段(hot、warm、cold)都可以包含一个带有 fixed_interval 的降采样操作。现在,Streams 会在数据生命周期时间线上展示这些操作。点击某个阶段即可打开侧边弹窗(flyout),设置降采样间隔,并在保存之前实时查看时间线更新效果。

下面是相同策略对应的 JSON。这就是当你使用侧边弹窗(flyout)时,Streams 实际读取和写入的内容:
{
"phases": {
"hot": {
"min_age": "0ms",
"actions": {
"rollover": { "max_age": "1d" },
"downsample": {
"fixed_interval": "5m",
"wait_timeout": "1d"
}
}
},
"warm": {
"min_age": "2d",
"actions": {}
},
"cold": {
"min_age": "4d",
"actions": {
"downsample": {
"fixed_interval": "10m",
"wait_timeout": "1d"
}
}
},
"frozen": {
"min_age": "8d",
"actions": {
"searchable_snapshot": {
"snapshot_repository": "found-snapshots",
"force_merge_index": true
}
}
},
"delete": {
"min_age": "30d",
"actions": {
"delete": {
"delete_searchable_snapshot": true
}
}
}
}
}
ILM 策略通常会被多个 stream 共享使用。如果你编辑了一个正在其他地方使用的策略,Streams 会发出警告,并提供 Save as new policy(另存为新策略) 选项,让你可以进行分支(fork),而不是直接修改原始策略。

数据流生命周期(DLM)streams
数据流 生命周期采用不同的方法:与其在每个阶段只设置一个降采样操作,它允许你定义一系列步骤(最多 10 个),每一步都包含一个 after 延迟和一个 fixed_interval。Streams 会将其以“视觉阶梯(visual ladder)”的形式展示出来,让你可以一步一步构建配置。

这是同一个配置,但以 API 调用的形式表示。UI 中的每一个步骤都会映射为 downsampling 数组中的一个对象:
{
"data_retention": "14d",
"downsampling": [
{ "after": "1d", "fixed_interval": "5m" },
{ "after": "3d", "fixed_interval": "1h" },
{ "after": "7d", "fixed_interval": "4h" }
]
}
开始使用
-
在 Kibana 中打开 Streams,并选择一个由 时间序列数据流(TSDS)支持的 stream。
-
进入 Retention(保留) 选项卡。数据生命周期时间线会显示当前的降采样配置(如果存在)。
-
对于 ILM streams,点击时间线中的某个 phase,会打开 flyout,并可在其中配置降采样间隔。
-
对于 DLM streams,可以在 lifecycle 视图中直接添加或编辑降采样步骤。
了解更多
本文章中描述的任何功能或发布时间均由 Elastic 自行决定。任何当前不可用的功能或能力,可能不会按计划交付,甚至可能不提供。
2235

被折叠的 条评论
为什么被折叠?



